[英]How to add index and units reference in a dataframe with pandas?
我有一個數據框df
,它包含很多不必要的列,還有一個名為dict
,其中包含所需的列作為鍵,單位作為每個鍵內的項目: dict = {'time': 'date', 'place': 'London'}
我需要一個新的數據框( final_df
)僅包括在我的鑰匙列dict
,並且包括作為第一行(指數)的關鍵dict
,並為第二排的每個鍵內的項目dict
(索引單位)。
當前df
示例
所需的final_df
數據幀
我試過:
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
? 關於如何做到這一點的任何其他建議?
這是您想要的示例:
生成一個測試示例(你應該總是發布一個可測試的片段)以獲得更快+更好的答案):
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
注意:請不要將字典命名為dict
因為它會覆蓋默認的字典功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.