我有一个DataFrameGroupBy对象(即它不是数据帧,但按数据框分组)具有重复的列名。 如何更改其中一个重复的列名称。 (使用.rename失败了)
由于有两个列名称具有相同的'标签'如何保持其中一个列名完整并更改其他列名。 感谢
举个例子:
import pandas as pd
import numpy as np
df = pd.DataFrame({'Stock' : ['apple', 'ford', 'google', 'samsung','walmart', 'kroger'],
'Sector' : ['tech', 'auto', 'tech', 'tech','retail', 'retail'],
'Price': np.random.randn(6),
'Signal' : np.random.randn(6)}, columns= ['Stock','Sector','Price','Signal'])
dfg = df.groupby([df['Sector'],df['Price'],(df.Price*2)])
dfg.head()
- 以上将导致两列名为' Price'在DataFrameGroupBy中。 我想保持' Price'列并将另一个重命名为' PriceSquared'。
谢谢,
答案 0 :(得分:2)
为什么不在分组前计算列?
df['PriceSquared'] = df['Price'] * 2
dfg = df.groupby(['Sector', 'Price', 'PriceSquared'])
编辑: 据我所知,重命名系列的两种方法是:
s = df.Price * 2
s.name = 'PriceSquared'
或
s = pd.Series(df.Price * 2, name='PriceSquared')