将数据框行分配给变量

时间:2019-02-16 02:44:12

标签: python pandas

我有一个df,其中按日期索引并且有很多列。我正在函数中的特定日期处理一行,然后遍历各个日期,一次选择一行进行修改。

该行有很多计算,我发现使用

df.loc[current_date, 'select_columns']` #messy. 

我将整行更改为:

r = pd.Series (df.loc[current_date, :])

那样就可以说:

r[field_name]

通过这种方法,我能够查看和更新​​数据,然后在完成计算后将系列重新分配给df行。

这确实可行,但我的问题是……是否存在更好的pythonic方式来访问数据框中的一行以进行多次计算?

1 个答案:

答案 0 :(得分:0)

IIUC,您正在尝试找到一种遍历行并从每一行获取特定值的好方法。您可以使用iterrows遍历行并按照您提到的方式获取值:

for ix, row in df.iterrows():
    row[field_names]
    ...

如果您想为数据框设置值,row[field_names] = val将不起作用。该related post可能很有趣。通常,您必须使用“一个操作”(例如df.loc[row, col] = value)来设置值。链式操作不会影响原始数据框。也就是说df.loc[row, :][col]不会影响原始的df。出于相同的原因,与我给出的row{field_names] = val示例相同。