如何通过引用更新数据框?

时间:2016-11-29 12:22:18

标签: python pandas dataframe

我正在使用CSV文件,该文件加载到数据帧(python / pandas)中。原始数据框为df_origen,每行都有一个称为value的度量,其间隔为1小时。

我需要在15分钟内将每行“调整”为新数据帧中的4行。可能必须在数据df_origen中跳转。

我做到了。

df_destiny = pd.DataFrame(pd.date_range(start, periods=96 * diff.days, freq='15Min'), columns=['from_time'])

之后,我迭代了数据集df_origen以将值带入字段“值”,但我按行过滤了数据集df_destiny

tmp = df_destiny[df_destiny['date'] == row['date'] & df_destiny['to_time'] < row['to_time'] + datetime.timedelta(hours=1)

当我将行修改为变量tmp时,我注意到我正在更新为副本。

有什么方法可以参考吗?

我的意思是,我可以修改数据集tmp并查看对数据集df的更改吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

我通过添加index作为新列

解决了这个问题
df_destiny['id'] = df_destiny .index

所以当我过滤行时:

test = df_destiny[df_destiny['date'] == row['date'] & df_destiny['to_time'] < row['to_time'] + datetime.timedelta(hours=1)]

我已将数据框test的原始索引放入数据框df_destiny。然后我可以更新

df_destiny.loc[test.iloc[0]['id'], 'value'] = int(value/4)

我不知道是否还有另一种方式......