簡體   English   中英

熊貓在基於其他列的列中刪除值

[英]pandas drop values in a columns based other columns

有沒有辦法在df中刪除單個條目?

df1:
ID  Count1  Value1  Count2  Value2
111 5   10  5   25
112 4   15  6   25
113 6   7   4   10
114 3   8   2   1
115 7   1   8   10

如果Count1 <5,我想刪除任何Value1;如果Count2 <5,我想刪除任何Value2。結果將是這樣的:

ID  Count1  Value1  Count2  Value2
111 5   10  5   25
112 NA  NA  6   25
113 6   7   4   NA
114 NA  NA  NA  NA
115 7   1   8   10

謝謝!

使用loc

df.loc[df['Count1'] < 5, ['Count1','Value1']] = np.nan
df.loc[df['Count2'] < 5, ['Count2','Value2']] = np.nan

    ID  Count1  Value1  Count2  Value2
0   111 5.0     10.0    5.0     25.0
1   112 NaN     NaN     6.0     25.0
2   113 6.0     7.0     NaN     NaN
3   114 NaN     NaN     NaN     NaN
4   115 7.0     1.0     8.0     10.0

使用mask

df[['Count1','Value1']] = df[['Count1','Value1']].mask(df.Count1 < 5)
df[['Count2','Value2']] = df[['Count2','Value2']].mask(df.Count2 < 5)

print (df)
    ID  Count1  Value1  Count2  Value2
0  111     5.0    10.0     5.0    25.0
1  112     NaN     NaN     6.0    25.0
2  113     6.0     7.0     NaN     NaN
3  114     NaN     NaN     NaN     NaN
4  115     7.0     1.0     8.0    10.0

嘗試這個:

df1 = df1 [df1 ['Count1'] <5&df1 ['Count2'] <5]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM