如何制作一个带有动态变量的函数来在panda中添加行



我正试图使用panda从数据列表中创建一个表。

最初我想做一个函数,在这里我可以传递动态变量,这样我就可以不断地从数据列表中添加新行。

它一直工作到添加行的部分开始。列标题正在添加,但数据没有。它要么只在最后一列保持值,要么什么都不添加。

我的划痕是:

for title in titles:
for x in data:
table = {
title: data[x]
}
df.DataFrame(table, columns=titles, index[0]

列列表:

titles = ['timestamp', 'source', 'tracepoint']

数据列表:

data = ['first', 'second', 'third',
'first', 'second', 'third',
'first', 'second', 'third']

我怎么能做这样的东西?

timestamp, source, tracepoint
first, second, third
first, second, third
first, second, third

如果您只想初始化pandas数据帧,可以使用数据帧的构造函数。您还可以使用dict来附加行。Pandas提供了其他有用的功能,诸如数据帧之间的串联、插入/删除列。如果您需要,请查看熊猫的文档。

import pandas as pd
# initialization by dataframe’s constructor
titles = ['timestamp', 'source', 'tracepoint']
data = [['first', 'second', 'third'],
['first', 'second', 'third'],
['first', 'second', 'third']]
df = pd.DataFrame(data, columns=titles)
print('---initialization---')
print(df)
# append row
new_row = {
'timestamp': '2020/11/01',
'source': 'xxx',
'tracepoint': 'yyy'
}
df = df.append(new_row, ignore_index=True)
print('---append result---')
print(df)

输出

---initialization---
timestamp  source tracepoint
0     first  second      third
1     first  second      third
2     first  second      third
---append result---
timestamp  source tracepoint
0       first  second      third
1       first  second      third
2       first  second      third
3  2020/11/01     xxx        yyy

最新更新