我想舍弃所有包含低于给定值的单元格。因此,不仅是行或列,而且对于所有单元格。
下面尝试过的代码,其中每个单元格中的所有值均应至少为3。无效。
df[(df >= 3).any(axis=1)]
示例
import pandas as pd
my_dict = {'A':[1,5,6,2],'B':[9,9,1,2],'C':[1,1,3,5]}
df = pd.DataFrame(my_dict)
df
A B C
0 1 9 1
1 5 9 1
2 6 1 3
3 2 2 5
我只想保留至少3个单元格。
答案 0 :(得分:1)
如果您希望“每个单元格中的所有值都应至少为3”
df [df < 3] = 3
df
A B C
0 3 9 3
1 5 9 3
2 6 3 3
3 3 3 5
如果要“仅保留至少3个单元格”
df = df [df >= 3]
df
A B C
0 NaN 9.0 NaN
1 5.0 9.0 NaN
2 6.0 NaN 3.0
3 3.0 3.0 5.0
答案 1 :(得分:0)
您可以检查该值是否> = 3,然后删除所有NaN值的行。
df[df >= 3 ].dropna()
演示:
import pandas as pd
my_dict = {'A':[1,5,6,3],'B':[9,9,1,3],'C':[1,1,3,5]}
df = pd.DataFrame(my_dict)
df
A B C
0 1 9 1
1 5 9 1
2 6 1 3
3 3 3 5
df = df[df >= 3 ].dropna().reset_index(drop=True)
df
A B C
0 3.0 3.0 5.0