【发布时间】:2020-12-19 04:33:37
【问题描述】:
我有一个 Pandas 数据框,其中包含一列和一个时间戳索引。数据框的代码如下所示:
import pandas as pd
indx = pd.date_range(start = '12-12-2020 06:00:00',end = '12-12-2020 06:02:00',freq = 'T')
df = pd.DataFrame(data = [0.2,0.4,0.6],index = indx,columns = ['colname'])
我想以某种方式从 df 的行创建一个字典列表。对于数据框的每一行,我想用键“时间戳”和“值”创建一个字典。 “时间戳”键的值将是该行的索引。 “Value”键的值将是数据框列中行的值。这些字典中的每一个都将附加到一个列表中。
我知道我可以通过像这样遍历数据框的所有行来做到这一点:
dict_list = []
for i in range(df.shape[0]):
new_dict = {'Timestamp': df.index[i],'Value': df.iloc[i,0]}
dict_list.append(new_dict)
但是,我实际使用的数据框可能非常大。除了使用 for 循环之外,还有更快、更有效的方法吗?
【问题讨论】:
标签: python pandas list dictionary