私は、1にマージしたい2つのデータフレームを持っています。長さは異なりますが、同じ情報がいくつか含まれています。
ここでAは、位置、Bカテゴリ及びCのカウントを指定する最初のデータフレームpandasデータフレームの長さが等しくない場合のマージ
BOROUGH TYPE TCOUNT
MAN SPORT 5
MAN CONV 3
MAN WAGON 2
BRO SPORT 2
BRO CONV 3
あります。
そして、他の
BOROUGH CAUSE CCOUNT
MAN ALCOHOL 5
MAN SIZE 3
BRO ALCOHOL 2
ここでAは、再び他のデータフレームと同じ場所です。しかし、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
「 - 」何もすることができます。好ましくは、「何もない」という文字列。それらが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
OK問題はdf1に233行ありますが、df2には83行しかないので、結果として期待通りに動作すると期待しています。 – EdChum
2つをマージすることができたらデータフレーム。基本的にdf2の欠損値をすべて記入してください。だから、もしdf1がBRONXの47の値を持っていて、df2の値が17しかなければ、df2の残りの30の値に[BRONX、NOTHING、0]を書きます。そして、私は2つのデータフレームをマージすることができます。これは他のボラウザにも適用されます。QUEENS、MANHATTAN、BROOKLYN、STATEN ISLAND –