我想在Pandas数据框中创建一个新的命名列,将第一个值插入其中,然后在同一列中添加另一个值:
类似的东西:
import pandas
df = pandas.DataFrame()
df['New column'].append('a')
df['New column'].append('b')
df['New column'].append('c')
etc.
我该怎么做?
答案 0 :(得分:1)
不要这样做,because slow:
6)一次更新一个空行。我已经看到这种方法使用WAY过多。这是迄今为止最慢的。它可能很普通(对于某些python结构来说相当快),但是DataFrame对索引进行了大量检查,因此每次更新一行总是很慢。创建新的结构和连接要好得多。
更好的方法是创建数据列表,并由构造函数创建DataFrame
:
vals = ['a','b','c']
df = pandas.DataFrame({'New column':vals})
答案 1 :(得分:1)
如果我理解正确,您想将值附加到pandas数据框中的现有列,那就是使用DF时,您需要保持矩阵状的形状,因此每列的行数相等,您可以添加具有默认值的列,然后使用
更新此值 for index, row in df.iterrows():
df.at[index, 'new_column'] = new_value
答案 2 :(得分:0)
如果您需要向新创建的列添加随机值,您也可以使用
df['new_column']= np.random.randint(1, 9, len(df))