字典,里面有df作为值并更改列名



我有下面的dict,里面有DataFrames作为值。我只想根据dict中的键来转置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返回的DataFrame,而不是value本身。

据我所知,转置是不可能到位的;这可能是因为他们完全重构了DataFrame,而不仅仅是更改数据或标签,同时保持结构基本相同。

key处的值设置为新的DataFrame并没有错;我建议这样做:

for key, value in df_dict.items():
value_T = value.T.reset_index()
df_dict[key] = value_T.rename(
columns={value_T.columns[0]: 'bbg_ticker', value_T.columns[1]: key}
)

相关内容

  • 没有找到相关文章

最新更新