Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 合并熊猫2数据帧,行数和列数不同 我有我的原始数据帧(df1) 我创建了一个新的DataFrame(df2),其中只有第一行(df1)中的一些行 我向这个新的数据帧添加了一些列(df2) 现在我想用我的新内容(df2)更新第一个DataFrame(df1)_Python_Python 3.x_Pandas_Dataframe_Merge - Fatal编程技术网

Python 合并熊猫2数据帧,行数和列数不同 我有我的原始数据帧(df1) 我创建了一个新的DataFrame(df2),其中只有第一行(df1)中的一些行 我向这个新的数据帧添加了一些列(df2) 现在我想用我的新内容(df2)更新第一个DataFrame(df1)

Python 合并熊猫2数据帧,行数和列数不同 我有我的原始数据帧(df1) 我创建了一个新的DataFrame(df2),其中只有第一行(df1)中的一些行 我向这个新的数据帧添加了一些列(df2) 现在我想用我的新内容(df2)更新第一个DataFrame(df1),python,python-3.x,pandas,dataframe,merge,Python,Python 3.x,Pandas,Dataframe,Merge,所以…我需要合并2个DataFrame,第二个DataFrame有更多的列和更少的行 import pandas as pd print(pd.__version__) # 0.24.1 index1 = [1, 2, 3, 4] columns1 = ['a', 'b', 'c'] data1 = [ ['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3'], ['a4', 'b4', 'c4']]

所以…我需要合并2个
DataFrame
,第二个
DataFrame
有更多的列和更少的行

import pandas as pd

print(pd.__version__)
# 0.24.1

index1 = [1, 2, 3, 4]
columns1 = ['a', 'b', 'c']
data1 = [
    ['a1', 'b1', 'c1'],
    ['a2', 'b2', 'c2'],
    ['a3', 'b3', 'c3'],
    ['a4', 'b4', 'c4']]


index2 = [1, 4]
columns2 = ['b', 'c', 'd', 'e']
data2 = [
    ['b1', 'c1', '<D1', 'e1'],
    ['b4', '<C4', 'd4', 'e4']]

df1 = pd.DataFrame(index=index1, columns=columns1, data=data1)
df2 = pd.DataFrame(index=index2, columns=columns2, data=data2)

print(df1)
#     a   b   c
# 1  a1  b1  c1
# 2  a2  b2  c2
# 3  a3  b3  c3
# 4  a4  b4  c4


print(df2)
#     b     c     d   e
# 1  b1    c1   <D1  e1
# 4  b4   <C4    d4  e4

# What I want:
#     a    b    c    d    e
# 1  a1   b1   c1  <D1   e1
# 2  a2   b2   c2  NaN  NaN
# 3  a3   b3   c3  NaN  NaN
# 4  a4   b4  <C4   d4   e4
将熊猫作为pd导入
打印(pd.\U版本\U)
# 0.24.1
index1=[1,2,3,4]
第1列=['a'、'b'、'c']
数据1=[
['a1','b1','c1'],
['a2','b2','c2'],
[a3',b3',c3'],
['a4'、'b4'、'c4']
index2=[1,4]
第2列=['b'、'c'、'd'、'e']
数据2=[

['b1','c1','我不能一行完成,但这应该可以

df1.update(df2)
df1=df1.merge(df2,how='left')
然后由于某种原因,“合并”会重置索引,因此如果您仍然希望1到4:

df1.index=index1
出[]:
a、b、c、d、e

1 a1 b1 c1这对我很有效,谢谢。有点奇怪的合并行为,但没关系!合并的事情真的很奇怪!我试图想办法解决它,但这可能是最简单的。如果你感兴趣,我会发现: