-1
2つのデータフレームに2つの列があり、列は同じですがサイズは異なります。 2つの列を比較して、両方で同じ値のインデックスを持つにはどうすればよいでしょうか? df1とdf2では、年齢は2つに共通ですが、df1には1000の行があり、df2には200の行があります。同じ年齢の値を持つ行のインデックスを持たせたいですか?パンダは異なるサイズの2つの列を比較します
2つのデータフレームに2つの列があり、列は同じですがサイズは異なります。 2つの列を比較して、両方で同じ値のインデックスを持つにはどうすればよいでしょうか? df1とdf2では、年齢は2つに共通ですが、df1には1000の行があり、df2には200の行があります。同じ年齢の値を持つ行のインデックスを持たせたいですか?パンダは異なるサイズの2つの列を比較します
あなたは、インデックス標識に.loc
を使用することができます。
df1.age < df2.loc[df1.index].age
を例:
df1 = pd.DataFrame({'age':np.random.randint(1,10,10)})
df2 = pd.DataFrame({'age':np.random.randint(1,10,20)})
出力:
df1.assign(age_2=df2.loc[df1.index],cond=df1.age < df2.loc[df1.index].age)
:
0 True
1 True
2 False
3 True
4 True
5 False
6 False
7 True
8 False
9 False
Name: age, dtype: bool
すべて1つのデータフレーム内のすべてを取得します
出力:
age age_2 cond
0 3 5 True
1 3 8 True
2 6 6 False
3 4 7 True
4 4 7 True
5 5 2 False
6 2 2 False
7 3 7 True
8 6 3 False
9 5 4 False
そこで質問で両方の列は、年齢データがある - 同じフォーマット、すべてを? – Ksofiac
はい、それらは同じフォーマットと行数以外のすべてを持っています。 – sunny