[英]How to control the header's title of index obtained from pandas df.reset_index() twice
[英]How to keep column order after df.update() + df.reset_index()
我有兩個數據框。
data_df
Investor Company Name CUSIP Symbol
0 Hank FaCeBoOk 30303M102
1 Dale Fraud Co 88160R101
2 Bill Netflix Inc 64110L106
3 Kahn 64110L106
4 Peggy Amazon 23135106
5 Rusty Costco 22160K105
6 Bobby BankAmericard 92826C839
7 Minh Placeholder 92826C839
8 Chappy Other 29786A106
和cusips_df
:
Company Name Symbol CUSIP
0 Facebook FB 30303M102
1 Tesla TSLA 88160R101
2 Netflix Inc NFLX 64110L106
3 Amazon AMZN 23135106
4 Costco COST 22160K105
5 Visa V 92826C839
6 Mega-Lo Mart MLM 543535F63
7 Strickland Propane SPPN 453HGR001
8 Etsy ETSY 29786A106
我正在匹配CUSIP
上的兩個數據幀,然后使用來自cusips_df
值更新data_df
的Company Name
和Symbol
。
data_df = data_df.set_index('CUSIP')
cusips_df = cusips_df.set_index('CUSIP')
data_df.update(cusips_df)
data_df = data_df.reset_index()
print(data_df)
但是當我這樣做時, CUSIP
列會移動到位置0
,而不是停留在位置2
:
CUSIP Investor Company Name Symbol
0 30303M102 Hank Facebook FB
1 88160R101 Dale Tesla TSLA
2 64110L106 Bill Netflix Inc NFLX
3 64110L106 Kahn Netflix Inc NFLX
4 23135106 Peggy Amazon AMZN
5 22160K105 Rusty Costco COST
6 92826C839 Bobby Visa V
7 92826C839 Minh Visa V
8 29786A106 Chappy Etsy ETSY
我知道我可以簡單地對數據框列重新排序,但是有沒有更 Pythonic 的方法來做到這一點,以便data_df
中的列的data_df
保持不變?
我們可以做的
d=dict(zip(cusips_df.CUSIP, cusips_df.Symbol))
data_df.Symbol.update(data_df.CUSIP.map(d))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.