我以前见过这个问题,但我看到的是重复列,我的列不同:
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对象有效