Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 熊猫基于另外两个';子&x27;框架_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 熊猫基于另外两个';子&x27;框架

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有列['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.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