给定一个数据框,如下所示:
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']},
index=[0, 1, 2])
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
我想添加一个用值 False 初始化的列“D”。列“D”将用于数据帧的未来处理:
A B C D
0 A0 B0 C0 False
1 A1 B1 C1 False
2 A2 B2 C2 False
我根据 df1 索引生成了一个 False 值列表,并用它来创建一个 df2,然后将它与 df1 连接起来:
Dlist = [False for item in list(range(len(df1.index)))]
d = {'D':Dlist}
df2 = pd.DataFrame(d, index = df1.index)
result = pd.concat([df1, df2], axis=1, join_axes=[df1.index])
几个问题:第一行中的列表理解需要如此参与吗?我尝试了以下操作,认为 'df1.index' 就像列表一样。它没有用。
Dlist = [False for item in df1.index]
更广泛地说,有没有更好的方法来使用数据框操作来做到这一点?如果我正在处理一个包含 df1 数据的“csv”文件,我可以在生成数据帧之前轻松地将“D”添加到文件中。
在哲学方面,在处理数据时是否不可避免地修改数据帧或它们来自的“csv”文件?在处理非常大的文件中的数据时,它当然看起来不太好。
冉冉说
相关分类