Pandas:在尝试合并数据帧时出现“TypeError:只有整数标量数组可以转换为标量索引”

Ily*_*yas 9 python dataframe pandas

重命名 aDataFrame的列后,合并新列时出现错误:

import pandas as pd

df1 = pd.DataFrame({'a': [1, 2]})
df2 = pd.DataFrame({'b': [3, 1]})

df1.columns = [['b']]

df1.merge(df2, on='b')
Run Code Online (Sandbox Code Playgroud)

类型错误:只有整数标量数组可以转换为标量索引

Max*_*nis 18

重命名列时,请使用DataFrame.columns = [list],而不是DataFrame.columns = [[list]]

df1 = pd.DataFrame({'a': [1, 2]})
df2 = pd.DataFrame({'b': [3, 1]})

df1.columns = ['b']

df1.merge(df2, on='b')
#   b
# 0 1
Run Code Online (Sandbox Code Playgroud)

  • 你不知道这整整一个小时是多么令人沮丧。谢谢。这有效。 (2认同)

Ily*_*yas 5

用 替换了代码tmp.columns = [['POR','POR_PORT']]tmp.rename(columns={'Locode':'POR', 'Port Name':'POR_PORT'}, inplace=True)它起作用了。