2016-09-18 58 views
1

我导入的CSV从旧金山薪酬数据库数据帧从Kaggle重命名几个未命名的列在大熊猫数据帧

df=pd.read_csv('Salaries.csv') 

我创建了一个数据帧从“DF”

df2=df.groupby(['JobTitle','Year'])[['TotalPay']].median() 
聚合函数

问题1:第一列和第二列显示为无名称,不应该发生。

enter image description here

即使我使用的

df2.columns 

它只名TotalPay代码为一列

问题2:我尝试重命名,例如,第一列JOBTITLE和代码没有任何作用

df3=df2.rename(columns = {0:'JobTitle'},inplace=True) 

因此解决方案这里给出的离子并不显然工作:Rename unnamed column pandas dataframe

我想两个可能的解决方案: 1)集合函数尊重列命名和/或 2)重命名空数据帧的列

+0

试试这个:'df3 = df2.reset_index()' – MaxU

+0

太棒了!解决了我的问题,你可以将它作为答案张贴,所以我们可以给你信用?谢谢! –

+0

第一个和第二个“列”实际上是熊猫索引对象。 (而不是1,2,3,4,5等,每行编号,你有一对标签索引)。它们的操作与普通列不同。尝试使用'df2.index'来访问它们而不是'df2.columns'。 – pylang

回答

0

引用答案由MaxU:

df3 = df2.reset_index() 

谢谢!

2

的问题是不是真的,你需要重命名列。
您导入的.csv文件的前几行看起来是什么,因为您没有正确导入它。熊猫没有认识到JobTitleYear是列标题。熊猫read_csv()very flexible它会让你做什么。
如果您正确导入数据,则不需要重新索引或重新标记。

+0

OP询问''df2' DF,这是'groupby(['JobTitle','Year'])''操作的结果,这会导致'['JobTitle','Year']'多索引。因此,用'read_csv()'玩起来不会有帮助 – MaxU

+0

啊,是的。我的错。 – Batman