gpt4 book ai didi

python - 根据值的计数在数据框中删除列

转载 作者:行者123 更新时间:2023-12-05 02:48:16 25 4
gpt4 key购买 nike

嗨,我是 Pandas 的新手,正在为操纵而苦苦挣扎。我有一个包含大量列的数据框 df,我只想保留计数超过 5000 个值的列数。

我尝试了下面的循环,但它不起作用。有什么简单的方法可以做到这一点?还有我可以创建一个函数来将其应用于任何我想保留仅包含 n 个值或更多值的列的数据框吗?

for column in df.columns: 
if df[column].count() > 5000:
column = column
else:
df[column].drop()

谢谢

最佳答案

我们可以使用DataFrame.dropna其中有参数 thresh,例如:

import pandas as pd
import numpy as np

# example dataframe
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, np.nan],
'C': [np.nan, np.nan, 6],
'D': [np.nan, np.nan, np.nan]
})


A B C D
0 1 4.0 NaN NaN
1 2 5.0 NaN NaN
2 3 NaN 6.0 NaN

我们将阈值设置为 2,在您的情况下为 5000:

df.dropna(thresh=2, axis=1)

A B
0 1 4.0
1 2 5.0
2 3 NaN

注意 CD 列被删除,因为它们的非 Na 值少于 2 个

关于python - 根据值的计数在数据框中删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64631540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com