Pandas用不同的列连接2个数据帧:重新索引仅对值唯一的Index对象有效



我以前见过这个问题,但我看到的是重复列,我的列不同:

df.cols: Index(['keys', 'clicks', 'impressions', 'ctr', 'position'], dtype='object')
split_df.cols: Index(['DEVICE', 'DATE', 'QUERY', 'COUNTRY', 'PAGE'], dtype='object')

split_df数据帧实际上来自原始的df,来自df的keys列是一个列表,我将每个元素拆分为几个新的列(见下文(,然后变成split_df。现在我只是想把它们重新连接在一起,但当我连接时,我看到了

重新索引仅对具有唯一值的索引对象有效

df = g_conn.get_search_console(ds)
split_df = pd.DataFrame(df['keys'].tolist(), columns=['DEVICE', 'DATE', 'QUERY', 'COUNTRY', 'PAGE'])

df = pd.concat([df, split_df], axis=1)

重复项似乎在行索引中,而不是列中。行不是列,因为axis=1

例如,这会导致错误:

df1 = pd.DataFrame({'A': list('ABCD')}, index=list('1122'))
df2 = pd.DataFrame({'B': list('WXYZ')}, index=list('3455'))
pd.concat([df1,df2], axis=1)

InvalidIndexError:重新索引仅对唯一值的Index对象有效

最新更新