[英]How to check if value exists in another dataframe in pandas?
我下面有一個數據框,其中包含法語到英語之間的映射
df1
french english
ksjks an
sjk def
ssad sdsd
另一個dataframe列為法語,因此需要使用df1將其轉換為英語
df2
ksjks sjk ssad
2 4 6
我們該如何實現?
new_cols = []
for col in df2.columns:
if col in df1['french']:
how to get corresponding english value
PS:剛剛將隨機數據放入樣本中
選項1
將map
與set_index
一起set_index
df2.columns = df2.columns.map(df1.set_index('french').english)
print(df2)
選項2
將rename
與set_index
一起set_index
:
df2.rename(columns=df1.set_index('french').english.to_dict())
兩者都會產生:
an def sdsd
0 2 4 6
列的順序無關緊要:
df1 = pd.DataFrame({'french': ['un', 'deux', 'trois'], 'english': ['one', 'two', 'three']})
df2 = pd.DataFrame([[1,2,3]], columns=['trois', 'deux', 'un'])
df2.rename(columns=df1.set_index('french').english.to_dict())
three two one
0 1 2 3
df2.columns.map(df1.set_index('french').english)
# Index(['three', 'two', 'one'], dtype='object')
df_lookup= pd.DataFrame({"French":["ksjks","sjk","ssad"],"english":
["an","def","sdsd"]})
df_actual=pd.DataFrame({"ksjks":[2],"sjk":[4],"ssad":[6]})
df_actual.columns=[ df_lookup.loc[df_lookup.loc[df_lookup["French"]==
col].index[0],"english"] for col in df_actual.columns]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.