Python 熊猫基于另外两个';子&x27;框架
我有两个数据帧。df1有列['a'、'b'、'c'],df2有列['a'、'c'、'd']。现在,我创建了一个新的数据帧df3,其中包含列['a', b',c',d'] 我想用来自df1和df2的所有输入填充df3。例如,如果在df1中有x行,在df2中有y行,那么在df3中将有x+y行 哪个函数基于部分列填充新的数据帧 示例数据:Python 熊猫基于另外两个';子&x27;框架,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有两个数据帧。df1有列['a'、'b'、'c'],df2有列['a'、'c'、'd']。现在,我创建了一个新的数据帧df3,其中包含列['a', b',c',d'] 我想用来自df1和df2的所有输入填充df3。例如,如果在df1中有x行,在df2中有y行,那么在df3中将有x+y行 哪个函数基于部分列填充新的数据帧 示例数据: df1 = pd.DataFrame({'a':[1, 2, 3], 'b':[2, 3, 4], 'd':['h', 'j', 'k']}) df2 = pd.D
df1 = pd.DataFrame({'a':[1, 2, 3], 'b':[2, 3, 4], 'd':['h', 'j', 'k']})
df2 = pd.DataFrame({'a':[5, 6, 7], 'b':[1, 1, 1], 'c':[2, 2, 2]})
代码:
输出:
示例数据:
df1 = pd.DataFrame({'a':[1, 2, 3], 'b':[2, 3, 4], 'd':['h', 'j', 'k']})
df2 = pd.DataFrame({'a':[5, 6, 7], 'b':[1, 1, 1], 'c':[2, 2, 2]})
代码:
输出:
使用dataframe的append函数 另一种方法是合并-
使用dataframe的append函数 另一种方法是合并- 那么:
df1 = pd.DataFrame({"a": [1,2], "b": [3,4], "c": [5,6]})
df2 = pd.DataFrame({"a": [7,8], "c": [9,10], "d": [11,12]})
df3 = df1.append(df2, sort=False)
df3
a b c d
0 1 3.0 5 NaN
1 2 4.0 6 NaN
0 7 NaN 9 11.0
1 8 NaN 10 12.0
那么:
df1 = pd.DataFrame({"a": [1,2], "b": [3,4], "c": [5,6]})
df2 = pd.DataFrame({"a": [7,8], "c": [9,10], "d": [11,12]})
df3 = df1.append(df2, sort=False)
df3
a b c d
0 1 3.0 5 NaN
1 2 4.0 6 NaN
0 7 NaN 9 11.0
1 8 NaN 10 12.0
非常感谢。但是,当我合并时,我需要加入一些东西,对吗?我想要的是一行一行地添加所有行,并将值写入相应的列。谢谢!但是,当我合并时,我需要加入一些东西,对吗?我想要的是一行一行地添加所有行,并将值写入相应的列。谢谢!如果在df1中也有“d”列呢。那么它还能工作吗?有没有办法保持第一个列的顺序并在最后添加附加的列?我希望新的数据帧具有:a-b-d-c@aslv95我在
append
中不知道这一点,但您可以在以下位置重新排序:df=df[['a','b','d','c']
谢谢!如果在df1中也有“d”列呢。那么它还能工作吗?有没有办法保持第一个列的顺序并在最后添加附加的列?我希望新的数据帧具有:a-b-d-c@aslv95我在append
中不知道这一点,但您可以在以下位置重新排序:df=df[['a','b','d','c']]
df1.merge(df2, how='outer')
df1 = pd.DataFrame({"a": [1,2], "b": [3,4], "c": [5,6]})
df2 = pd.DataFrame({"a": [7,8], "c": [9,10], "d": [11,12]})
df3 = df1.append(df2, sort=False)
df3
a b c d
0 1 3.0 5 NaN
1 2 4.0 6 NaN
0 7 NaN 9 11.0
1 8 NaN 10 12.0