Python Dataframe Merge:字符串大写问题

时间:2018-10-25 15:37:00

标签: python string pandas dataframe merge

当我尝试基于列的值合并两个差异数据集时,我注意到如果大小写相同,则两个工作表中的列值将正确匹配。但是,即使字符串相同,即使大小写不同,Python也无法从df2识别df1的对应值。

在不更改数据集内容的情况下,是否有这样做的机会?

merged_df = pd.merge(df1, df2, on=['column1'], how = 'left')
merged_df.drop_duplicates(keep='first', inplace=True)
merged_df.to_csv('report.csv', index=False)

2 个答案:

答案 0 :(得分:0)

通过pd.Series.str.lower在合并之前 标准化您的字符串。如果由于某种原因您不想更改原始数据框,则可以使用pd.DataFrame.assign

merged_df = pd.merge(df1.assign(column1=df1['column1'].str.lower()),
                     df2.assign(column1=df2['column1'].str.lower()),
                     on='column1', how='left')

答案 1 :(得分:0)

一种易于理解的方法,

CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv doctor

然后继续您的代码。