我有一个新的数据框df
。这是使用:
df= pd.DataFrame()
我有一个名为'day'
的日期值,格式为dd-mm-yyyy,成本值为'cost
'。
有人可以告诉我如何将日期和费用值附加到df并将日期指定为索引吗?
例如,如果我有以下值 day = 01-01-2001 成本= 123.12
生成的df看起来像
date cost
01-01-2001 123.12
我最终会在多天内添加配对值,因此df最终会看起来像:
date cost
01-01-2001 123.12
02-01-2001 23.25
03-01-2001 124.23
: :
01-07-2016 2.214
我试图将配对值附加到数据框但不确定语法。我尝试了各种各样的想法,包括以下但没有成功。
df.append([day,cost], columns='date,cost',index_col=[0])
答案 0 :(得分:0)
试试这个:
dfapp = [day,cost]
df.append(dfapp)
答案 1 :(得分:0)
这里有一些事情。首先,使索引的列成为这样,但是当您从文件加载数据框时也可以这样做(见下文):
df.set_index('date', inplace=True)
要添加新行,您应该先将它们写入文件。 Pandas并不擅长动态添加行,这样您就可以在需要进行分析时读取数据。
new_row = ... #a row of new data in string format with values
#separated by commas and ending with \n
with open(path, 'a') as f:
f.write(new_row)
您可以循环播放,也可以单独播放,也可以根据需要随时播放。然后,当您准备好使用它时,您可以使用:
df = pd.read_csv(path, index_col=0, parse_dates=True)
index_col
不能为索引列获取字符串名称,因此您必须使用磁盘上的订单索引;在我的情况下,它使第一列成为索引。传递parse_dates=True
将使您将声明为索引的日期时间字符串转换为datetime对象。