我有两个数据帧,我想将它们合并为1.它们的长度不相等,但包含一些相同的信息。
这里是第一数据帧合并长度不等的熊猫数据帧
BOROUGH TYPE TCOUNT
MAN SPORT 5
MAN CONV 3
MAN WAGON 2
BRO SPORT 2
BRO CONV 3
其中A指定了一个位置,B的类别和C的计数。
而另
BOROUGH CAUSE CCOUNT
MAN ALCOHOL 5
MAN SIZE 3
BRO ALCOHOL 2
这里又是相同的位置,在其他数据帧。但D是另一个类别,E是该位置的D的计数。
我想要什么(而一直没能做到)是获得如下:
BOROUGH TYPE TCOUNT CAUSE CCOUNT
MAN SPORT 5 ALCOHOL 5
MAN CONV 3 SIZE 3
MAN WAGON 2 NaN NaN
BRO SPORT 2 ALCOHOL 2
BRO CONV 3 NaN NaN
“ - ”可以是任何东西。最好是一个说“Nothing”的字符串。如果他们默认为NaN值,我想这只是用字符串替换它们的问题。
注意:在使用熊猫和Python
EDIT:
输出:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 233 entries, 0 to 232
Data columns (total 3 columns):
BOROUGH 233 non-null object
CONTRIBUTING FACTOR VEHICLE 1 233 non-null object
RCOUNT 233 non-null int64
dtypes: int64(1), object(2)
memory usage: 7.3+ KB
None
<class 'pandas.core.frame.DataFrame'>
Int64Index: 83 entries, 0 to 82
Data columns (total 3 columns):
BOROUGH 83 non-null object
VEHICLE TYPE CODE 1 83 non-null object
VCOUNT 83 non-null int64
dtypes: int64(1), object(2)
memory usage: 2.6+ KB
None
pd.merge(df_One,df_Two,left_on = 'A', 'B'],right_on = 'A', 'd'])你能试试吗? – Backtrack
好吧,我看到你的问题,df1有233行,但df2只有83行,所以你得到空值由于长度不可思议,你期待什么,因为我预计这是预期的操作 – EdChum
我希望我能够合并这两个dataframes。基本上填充df2中的所有缺失值。所以如果df1有47个BRONX的值,但df2只有17个,我会用[BRONX,NOTHING,0]填充df2中剩下的30个值。然后我可以合并这两个数据框。这同样适用于其他自治市镇,QUEENS,MANHATTAN,BROOKLYN和STATEN ISLAND –