Pandas会将值放置在基于其他列的列中

2024-09-29 01:32:27 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法在数据框中删除一个条目?你知道吗

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,我想删除任何值1,如果Count2<;5,我想删除任何值2。结果如下:

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

谢谢!你知道吗


Tags: 数据ltid条目df1navalue1办法
3条回答

使用^{}

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]

使用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

相关问题 更多 >