[英]Map two dataframes in a case insensitive way (Python pandas)
我有兩個不同長度的 dataframe。
db
index| Size | GROUP FORMAT
1 | AA | Unknown
2 | BB | Unknown
3 | CC | Unknown
db2
index| GROUP FORMAT| FORMAT
1 | G1 | Aa
2 | G2 | bB
db2 的 FORMAT 列和 db 的 Size 的字母相同,但大小寫可能不同。 我想 map 他們以獲得:
db
index| Size | GROUP FORMAT
1 | AA | G1
2 | BB | G2
3 | CC | Unknown
但是,如果可能的話,我寧願不復制和刪除任何列。 是否可以以不區分大小寫的方式對兩個數據幀進行 map?
嘗試全部轉換為大寫,然后合並:
df1['GROUP FORMAT' ] = (df1.merge(df2.assign(FORMAT=df2.FORMAT.str.upper()),
left_on='Size', right_on='FORMAT', how='left')
['GROUP FORMAT_y']
.fillna(df1['GROUP FORMAT'])
)
Output:
index Size GROUP FORMAT
0 1 AA G1
1 2 BB G2
2 3 CC Unknown
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.