在Python中合并两个等长的数据集

时间:2019-03-27 20:24:17

标签: python

我有两个长度相等的数据集。两者都只有一列。我正在尝试将它们结合起来,并用两列制作一个数据集。 我尝试过的内容为我提供了第一列中所有值的一列。但是第二列是al NaN。 请帮忙。

我已经尝试过.join&.merge&pd.concat&.add&...

df_low_rename = df_low_sui.rename(index=str, columns={'suicides/100k pop': 'low_gdp'})
df_high_rename = df_high_sui.rename(index=str, columns={'suicides/100k pop': 'high_gdp'})

df_combined = df_low_rename.add(df_high_rename)
df_combined

Output

4 个答案:

答案 0 :(得分:1)

熊猫合并功能有效。

数据集1:

import pandas as pd
data = [['Alex',10],['Bob',12],['Clarke',13]]
df1 = pd.DataFrame(data,columns=['Name','Age'])
print(df1)

输出:

      Name  Age
 0    Alex   10
 1     Bob   12
 2  Clarke   13

数据集2:

data2 = [['Alex','Science'],['Bob','Physics'],['Clarke','Social']]
df2 = pd.DataFrame(data2,columns=['Name','Courses'])
print(df2)

输出:

      Name  Courses
 0    Alex  Science
 1     Bob  Physics
 2  Clarke   Social

合并数据集:

final=pd.merge(df1,df2)

输出:

        Name  Age  Courses
   0    Alex   10  Science
   1     Bob   12  Physics
   2  Clarke   13   Social

答案 1 :(得分:0)

我相信join会为您效劳。像这样:

df_low_rename.join(df_high_rename)

答案 2 :(得分:0)

尝试在列轴上使用concat:

combined = pandas.concat([df_low_rename, df_high_rename], axis=1)

答案 3 :(得分:0)

两个数据集都没有相同的索引。我这样修复:

df_low_rename = df_low_rename.reset_index(drop=True)
df_high_rename = df_high_rename.reset_index(drop=True)

然后我使用了join函数:

df_combined = df_low_rename.join(df_high_rename)
df_combined

这样,我得到了正确的输出。感谢所有尝试帮助我的人,对于这个菜鸟错误,我深表歉意。