簡體   English   中英

如何檢查值是否存在於另一個熊貓數據框中?

[英]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
mapset_index一起set_index

df2.columns = df2.columns.map(df1.set_index('french').english)
print(df2)

選項2
renameset_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM