Python 如何在带有熊猫的数据帧中添加索引和单位引用?
我有一个数据框Python 如何在带有熊猫的数据帧中添加索引和单位引用?,python,pandas,dataframe,dictionary,Python,Pandas,Dataframe,Dictionary,我有一个数据框df,其中包含许多不必要的列,还有一个名为dict的字典,其中包含所需的列作为键,每个键内的单位作为项: dict={'time':'date','place':'London'} 我需要一个新的数据框(final_df),其中只有列作为键包含在我的dict中,并将dict的键作为第一行(索引),将dict的每个键内的项作为第二行(索引单位) 当前df示例 所需final_dfdataframe 我试过: dict = {'time': 'date', 'place':
df
,其中包含许多不必要的列,还有一个名为dict
的字典,其中包含所需的列作为键,每个键内的单位作为项:
dict={'time':'date','place':'London'}
我需要一个新的数据框(final_df
),其中只有列作为键包含在我的dict
中,并将dict
的键作为第一行(索引),将dict
的每个键内的项作为第二行(索引单位)
当前df
示例
所需final_df
dataframe
我试过:
dict = {'time': 'date', 'place': 'London'}
keys = []
for key in dict:
for col in df.columns:
if col == key:
keys.append(col)
final_df = df[keys]
它工作,但我不知道如何包括在第二排的单位。
如何将其添加到我的final_df
?
还有其他建议吗?以下是您想要的示例: 生成一个测试示例(您应该始终发布a)以获得更快、更好的答案:
解决方案:
注意:请不要将字典命名为
dict
,因为它将覆盖默认的字典功能 您知道如何将其导出为具有多索引的csv吗final.to_csv(output_path+'/test.csv')
不起作用,我想我需要index\u label
,但我不知道如何设置它。@Sergio刚刚尝试过,它对我起作用(你需要index=False
?)。。。你有什么错误吗?是的。。。我得到以下错误:AttributeError:'MultiIndex'对象没有属性'to_csv'
。可能是因为我的字典包含的项目比我的数据框多。@Sergio这意味着您试图将多索引列导出到csv而不是数据框。似乎在你的情况下不存在变量,我只是尝试了final.to_csv(…)
,它很有效
np.random.seed(0)
df = pd.DataFrame(np.random.randint(0,100,(5,4)),columns=list('ABCD'))
print(df)
A B C D
0 44 47 64 67
1 67 9 83 21
2 36 87 70 88
3 88 12 58 65
4 39 87 46 88
d= {'A': 'Col1', 'D': 'Col2'} #reference dictionary
final = df.loc[:,d.keys()]
final.columns = pd.MultiIndex.from_arrays((d.keys(),d.values()))
print(final)
A D
Col1 Col2
0 44 67
1 67 21
2 36 88
3 88 65
4 39 88