在Python中组合两个长度相等的数据集
我有两个长度相等的数据集。两者都只有一列。我试图将它们结合起来,形成一个包含两列的数据集。 我所尝试的是给我一列,其中包含第一个数据帧中的所有值。但第二列是阿尔南的。 请帮忙 我已经试过了。join&.merge&pd.concat&.add&在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
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列。勾选此项您可以将其标记为答案,很高兴您找到了解决方案!