基於下面的數據框(1),我希望創建一個數據框(2),其中y或z等於2.是否有方法可以方便地執行此操作?根據兩個條件選擇python數據框中的行
如果我要創建一個僅包含dataframe(1)但不包含dataframe(2)的行的數據框(3),我該如何處理它?
id x y z
0 324 1 2
1 213 1 1
2 529 2 1
3 347 3 2
4 109 2 2
...
基於下面的數據框(1),我希望創建一個數據框(2),其中y或z等於2.是否有方法可以方便地執行此操作?根據兩個條件選擇python數據框中的行
如果我要創建一個僅包含dataframe(1)但不包含dataframe(2)的行的數據框(3),我該如何處理它?
id x y z
0 324 1 2
1 213 1 1
2 529 2 1
3 347 3 2
4 109 2 2
...
您可以輕鬆創建df2
足夠使用條件:
df2 = df1[df1.y.eq(2) | df1.z.eq(2)]
df2
x y z
id
0 324 1 2
2 529 2 1
3 347 3 2
4 109 2 2
鑑於df2
和df1
,你可以對指數進行組差異操作,如此:
df3 = df1.iloc[df1.index.difference(df2.index)]
df3
x y z
id
1 213 1 1
你可以做到以下幾點:
import pandas as pd
df = pd.read_csv('data.csv')
df2 = df[(df.y == 2) | (df.z == 2)]
print(df2)
結果:
id x y z
0 0 324 1 2
2 2 529 2 1
3 3 347 3 2
4 4 109 2 2
請在發佈之前閱讀已有的答案,我已經在我的答案中介紹了這一點。 https://stackoverflow.com/a/47360167/4909087 –
我沒有看到你的答案,因爲我正在寫我的。我可以將其刪除 – sera
如果它是偶然的,這不是問題。只需在發佈之前檢查:-)如果我們在1-2分鐘之內發帖,但是我們之間的差距差不多是8分鐘。 –
如果你的問題得到回答,不要忘了[上投票,並接受一個答案(https://開頭stackoverflow.com/help/someone-answers)。謝謝。 –