所以我有一个从csv文件中读取的数据帧,并将其分配给"ski_data"。
我只是对指示的措辞有点困惑。上面写着:
计数(使用.sum(((丢失值的数量(.isnull(((在ski_data的每一列中作为百分比(使用.mmean((而不是.sum(((,并使用sort_values对其进行排序。
调用
pd.concat
以在一个表(DataFrame(中显示这些列,并使用有用的列名"count"one_answers"%">
我要做的唯一方法是将ski_data复制到一个新的df中,但现在的问题是我有了一个新数据帧,在转换它之后,新数据帧将每列的名称作为索引,并有一个与它所具有的空值数量相对应的数字。此外,我不知道如何像问题所问的那样计算平均值,因为它假设我可以把它全部写进一行。
我认为这在很大程度上是一个语法问题,尽管我在网上找不到任何有用的资源。想知道是否有人能帮忙。
你可以试试这个:
import pandas as pd
# Toy dataframe
ski_data = pd.DataFrame(
{
"A": [1, 1, 1],
"B": [2, 2, None],
"C": ["markers", "", "markers"],
"D": [None, 2, None],
"E": [4, "", 4],
}
)
counts = ski_data.isna().sum()
print(counts.sort_values())
# Outputs
A 0
C 0
E 0
B 1
D 2
percentages = round(ski_data.isna().mean() * 100, 1)
print(percentages.sort_values())
# Outputs
A 0.0
C 0.0
E 0.0
B 33.3
D 66.7
null_values = pd.concat([counts, percentages], axis=1, keys=["count", "%"])
print(null_values)
# Outputs
count %
A 0 0.0
B 1 33.3
C 0 0.0
D 2 66.7
E 0 0.0