Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中组合两个长度相等的数据集_Python - Fatal编程技术网

在Python中组合两个长度相等的数据集

在Python中组合两个长度相等的数据集,python,Python,我有两个长度相等的数据集。两者都只有一列。我试图将它们结合起来,形成一个包含两列的数据集。 我所尝试的是给我一列,其中包含第一个数据帧中的所有值。但第二列是阿尔南的。 请帮忙 我已经试过了。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(inde

我有两个长度相等的数据集。两者都只有一列。我试图将它们结合起来,形成一个包含两列的数据集。 我所尝试的是给我一列,其中包含第一个数据帧中的所有值。但第二列是阿尔南的。 请帮忙

我已经试过了。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
我相信a会帮你的。大概是这样的:

df_low_rename.join(df_high_rename)

尝试在柱轴上使用concat:

combined = pandas.concat([df_low_rename, df_high_rename], axis=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
      Name  Courses
 0    Alex  Science
 1     Bob  Physics
 2  Clarke   Social
        Name  Age  Courses
   0    Alex   10  Science
   1     Bob   12  Physics
   2  Clarke   13   Social
数据集2:

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

      Name  Age
 0    Alex   10
 1     Bob   12
 2  Clarke   13
      Name  Courses
 0    Alex  Science
 1     Bob  Physics
 2  Clarke   Social
        Name  Age  Courses
   0    Alex   10  Science
   1     Bob   12  Physics
   2  Clarke   13   Social
合并数据集:

final=pd.merge(df1,df2)
输出:

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

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

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

这样,我得到了正确的输出。感谢所有试图帮助我的人,我为这个新手错误道歉。

你的df_low_重命名和df_high_重命名是什么样子的。更具体地说,它们的索引是什么样子的?它们都被重新索引了。11789行x 1列您可以提供每个数据帧的一些示例吗?例如,
print(df_low_rename.head().to_string())
如果您可以用一些模拟数据集重现您的问题,让人们尝试一下,看看它不仅仅是您的数据有什么帮助。人们跳到目前的答案上来,因为他们应该为这个案例工作。@adrtam low\u gdp\\0 2.39\\1 3.49\\2 2.85\\3 1.50\\4 0.62\\实际上已经尝试过了。你到底是怎么想的,但也得到了一个只有NaN的文化你检查数据了吗?一些样品会有帮助的。我做了很多“清洁”。没有空值或非数值。只有一列11789行只包含浮点数。如果使用merge:MergeError:No common columns来执行合并,则会出现此错误。如果没有任何公共列,请添加一个新的tmp列,例如df1['tmp']=1,df2['tmp']=1,然后合并数据帧并删除tmp列。勾选此项您可以将其标记为答案,很高兴您找到了解决方案!