Pandas 使用 StringIO 后合并不工作

Pandas merge not working after using StringIO

我需要将字符串转换为 pandas DataFrame 以进一步将其与另一个 DataFrame 合并,不幸的是合并不起作用。

str_data = StringIO("""col1;col2
one;apple
two;lemon""")

df = pd.read_csv(str_data, sep =";")

df2 = pd.DataFrame([['one', 10], ['two', 15]], columns = ['col1', 'col3'])

df=df.merge(df2, how='left', on='col1')

生成的 DataFrame 在 col3 中有 NaN 而不是 df2 中 col3 的整数

      col1   col2  col3
0      one  apple   NaN
1      two  lemon   NaN

提前感谢您的推荐!

对我来说工作得很好:

from io import StringIO

str_data = StringIO("""col1;col2
one;apple
two;lemon""")

df = pd.read_csv(str_data, sep =";")

df2 = pd.DataFrame([['one', 10], ['two', 15]], columns = ['col1', 'col3'])

df=df.merge(df2, how='left', on='col1')
print (df)
  col1   col2  col3
0  one  apple    10
1  two  lemon    15