如何覆盖DataFrame中特定索引/列的值?

时间:2017-03-30 14:59:43

标签: python python-3.x dataframe

我有一个数据帧Exposure,其零构造如下:

Exposure = pd.DataFrame(0, index=dates, columns=tickers)

和包含数据的DataFrame df

我想填写dfExposure的部分数据:

    for index, column in df.iterrows():
        # value of df(index,column) to be filled at Exposure(index,column)

如何使用(index,column)的值覆盖Exposure df(index,column)的值?

2 个答案:

答案 0 :(得分:1)

最好的方法是:

df.loc[index, column] = value

答案 1 :(得分:1)

你可以试试这个:

for index, column in df.iterrows():
    Exposure.loc[index, column.index] = column.values

这将在 Exposure 中创建新的索引和列,如果它们不存在,如果要避免这种情况,首先构造公共索引和列,然后以矢量化方式进行分配(避免for循环):

common_index = Exposure.index.intersection(df.index)
common_columns = Exposure.columns.intersection(df.columns)
Exposure.loc[common_index, common_columns] = df.loc[common_index, common_columns]