如何在 python 中初始化二维字符串 DataFrame 数组
How to initialize a two dimensional string DataFrame array in python
我想初始化一个 31756x2 的字符串数据框。
我希望它看起来像这样:
index column1 column2
0 A B
1 A B
.
.
31756 A B
我写了:
content_split = [["A", "B"] for x in range(31756)]
这是结果:
我确实得到了一个二维列表,但我希望列像在数据框中一样分开,但我似乎无法让它工作(比如 column1: A.. ,column2: B. ..)
希望得到一些帮助。
仅使用 DataFrame
构造函数:
df = pd.DataFrame([["A", "B"] for x in range(31756)], columns=['col1','col2'])
print (df.head())
col1 col2
0 A B
1 A B
2 A B
3 A B
4 A B
或者:
N = 31756
df = pd.DataFrame({'col1':['A'] * N, 'col2':['B'] * N})
print (df.head())
col1 col2
0 A B
1 A B
2 A B
3 A B
4 A B
使用numpy.tile
:
import numpy as np
df = pd.DataFrame(np.tile(list('AB'), (31756, 1)), columns=['col1','col2'])
或者只是传递字典:
df = pd.DataFrame({'A':['A']*31756, 'B':['B']*31756})
如果使用后一种方法,您可能希望对列进行显式排序,因为字典没有顺序:
df = pd.DataFrame({'A':['A']*31756, 'B':['B']*31756}).sort_index(axis=1)
import pandas as pd
df = pd.DataFrame(index=range(31756))
df.loc[:,'column1'] = 'A'
df.loc[:,'column2'] = 'B'
为了好玩
pd.DataFrame(index=range(31756)).assign(dict(col1='A', col2='B'))
我想初始化一个 31756x2 的字符串数据框。 我希望它看起来像这样:
index column1 column2
0 A B
1 A B
.
.
31756 A B
我写了:
content_split = [["A", "B"] for x in range(31756)]
这是结果:
我确实得到了一个二维列表,但我希望列像在数据框中一样分开,但我似乎无法让它工作(比如 column1: A.. ,column2: B. ..)
希望得到一些帮助。
仅使用 DataFrame
构造函数:
df = pd.DataFrame([["A", "B"] for x in range(31756)], columns=['col1','col2'])
print (df.head())
col1 col2
0 A B
1 A B
2 A B
3 A B
4 A B
或者:
N = 31756
df = pd.DataFrame({'col1':['A'] * N, 'col2':['B'] * N})
print (df.head())
col1 col2
0 A B
1 A B
2 A B
3 A B
4 A B
使用numpy.tile
:
import numpy as np
df = pd.DataFrame(np.tile(list('AB'), (31756, 1)), columns=['col1','col2'])
或者只是传递字典:
df = pd.DataFrame({'A':['A']*31756, 'B':['B']*31756})
如果使用后一种方法,您可能希望对列进行显式排序,因为字典没有顺序:
df = pd.DataFrame({'A':['A']*31756, 'B':['B']*31756}).sort_index(axis=1)
import pandas as pd
df = pd.DataFrame(index=range(31756))
df.loc[:,'column1'] = 'A'
df.loc[:,'column2'] = 'B'
为了好玩
pd.DataFrame(index=range(31756)).assign(dict(col1='A', col2='B'))