将列表追加为数据框行
问题描述
我有一个带有5个元素的计数列表。
counts = [33, 35, 17, 38, 29]
此计数列表每天都会更新新的编号。因此,我希望创建一个dataframe,并每天将计数数据作为新行追加。列表中的每个元素都应该出现在数据帧中的单独列中。我想做的是:
df = pd.DataFrame(columns = ['w1', 'w2', 'w3', 'w4', 'w5'])
df = df.append(counts)
但它不是将计数数据作为一行添加,而是添加了一个新列。有关于如何正确执行此操作的帮助吗?
假设第0天的计数为[33,35,17,38,29],第1天的计数为[30,36,20,34,32],我希望输出如下:
w1 w2 w3 w4 w5
0 33 35 17 38 29
1 30 36 20 34 32
其中index表示进行计数的日期。有帮助吗?
解决方案
如果您知道开头的day0
和day1
,则希望按照Jezrael的建议进行构建。
但我假定您希望能够在循环中添加新行。
解决方案loc
使用loc
时,您需要使用尚不存在的索引值。在本例中,我假设我们维护的是一个泛型RangeIndex
。如果是这种情况,我将假设下一个索引与当前DataFrame的长度相同。
df.loc[len(df), :] = counts
df
w1 w2 w3 w4 w5
0 33 35 17 38 29
让我们进行循环。
day0 = [33, 35, 17, 38, 29]
day1 = [30, 36, 20, 34, 32]
for counts in [day0, day1]:
df.loc[len(df), :] = counts
df
w1 w2 w3 w4 w5
0 33.0 35.0 17.0 38.0 29.0
1 30.0 36.0 20.0 34.0 32.0
相关文章