Python 合并数据帧并移动行。ValueError:无法从重复轴重新编制索引

Python 合并数据帧并移动行。ValueError:无法从重复轴重新编制索引,python,pandas,Python,Pandas,我试图将一个新列附加到一个数据帧中,其值向下移动超过上一列的最后一个值 以下是我目前掌握的情况: column_names = ['Email'] query = pd.DataFrame(columns = column_names) query['Email'] = all_emails['emails'] length_email = len(query['Email]) 然后,我希望添加一个新列,但这些值被移动到电子邮件列的最后一个值以下。期望的输出是这样的 Email

我试图将一个新列附加到一个数据帧中,其值向下移动超过上一列的最后一个值

以下是我目前掌握的情况:

column_names = ['Email']
query = pd.DataFrame(columns = column_names)
query['Email'] = all_emails['emails']
length_email = len(query['Email])
然后,我希望添加一个新列,但这些值被移动到电子邮件列的最后一个值以下。期望的输出是这样的

Email                        Phone
blah@gmail.com
blahblah@gmail.com
blahblahblah@gmail.com
                             (123) 634-5030
                             (234) 134-1404
我试过:

query['Phone Number'] = all_phone_numbers['phone_numbers'].shift(length email)
但我得到了以下错误:

ValueError: cannot reindex from a duplicate axis

错误表明您的数据具有重复索引,
pandas
不知道如何对齐这些重复项。例如,
所有电话号码
类似于:

          Phone
0    (123) 456-7890
0    (234) 123-6789
现在,当您进行列赋值时,应该选择哪个
放在
query
dataframe的索引
0

也就是说,您想要的操作不是列分配,而是
concat
,它将数据帧堆叠在彼此的顶部:

query = pd.concat( (query, all_phone_numbers[['phone_numbers']] ))