我下面有一个数据框,其中包含法语到英语之间的映射
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
df2.columns = df2.columns.map(df1.set_index('french').english)
print(df2)
选项2搭配
使用:rename
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')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句