gpt4 book ai didi

python - 如何从 Pandas 数据框列的填充程度中获取百分比?

转载 作者:行者123 更新时间:2023-11-28 17:56:52 26 4
gpt4 key购买 nike

我想确定 .csv 文件中的每一列有多满,将这些按每列有多满的顺序添加到列表中。丰满度应以百分比表示。

.csv 文件非常大,因此确定哪些列包含少量数据以及哪些包含最多数据会很有用。因此,包含更多数据的列对我来说更有用。

到目前为止我得到了什么:

    import pandas as pd

ranked_list = []
csv_filepath = r"some_path_here"
data = pd.read_csv(filepath)

for column in data:
way_to_calculate_percentage
ranked_list.append(way_to_calculate_percentage)

print(sorted(ranked_list))

我想知道是否有某种方法可以确定这个“way_to_calculate_percentage”

干杯!

最佳答案

通过 DataFrame.notna 检查非缺失值如果需要非缺失值的百分比,则计算 mean:

data = pd.DataFrame({
'A':list('abcdef'),
'B':[4,np.nan,4,np.nan,np.nan,4],
'C':[7,8,9,4,2,3],
'D':[1,3,np.nan,7,1,0],

})

s1 = data.notna().mean()
print (s1)
A 1.000000
B 0.500000
C 1.000000
D 0.833333
dtype: float64

如果需要缺失值的百分比,请使用 DataFrame.isna意思:

s2 = data.isna().mean().sort_values()
print (s2)
A 0.000000
C 0.000000
D 0.166667
B 0.500000
dtype: float64

然后是可能的分析值 - 使用 Series.nlargest , Series.nsmallest如有必要,使用 Series.sort_values :

s3 = s2.nlargest(2)
print (s3)
B 0.500000
D 0.166667
dtype: float64

s4 = s2.nsmallest(2)
print (s4)
A 0.0
C 0.0
dtype: float64

s5 = s2.sort_values()
print (s5)
A 0.000000
C 0.000000
D 0.166667
B 0.500000
dtype: float64

关于python - 如何从 Pandas 数据框列的填充程度中获取百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57798545/

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