【发布时间】:2021-09-14 16:43:01
【问题描述】:
我有下面的字典,里面有 DataFrames 作为值。我只是想转置 DataFrame,重置索引并根据字典中的键重命名列。看起来很简单,但是转置和重置索引不起作用。
代码仅在我为结果分配变量时才有效,例如
value = value.T.reset_index(inplace=True) 但这违背了重点,因为我希望更新 dict 中的原始值(这是一个 DataFrame)。
df_dict = {'volume': vol_df, 'shares': shr_df, 'float': flt_df}
for key, value in df_dict.items():
value.T.reset_index(inplace=True)
value.rename(columns={value.columns[0]: 'bbg_ticker', value.columns[1]: key}, inplace=True)
【问题讨论】:
-
原因是
value.T已经返回了一个副本,所以reset_index(inplace=True)在那个副本上工作,而不是在原来的value上工作。
标签: python pandas dataframe dictionary