Python 迭代数据帧的所有列,并计算每列中的值(pd.Series.value_counts(dropna=False))不起作用

Python 迭代数据帧的所有列,并计算每列中的值(pd.Series.value_counts(dropna=False))不起作用,python,dataframe,Python,Dataframe,我希望遍历pandas数据帧的所有列,并计算每列中的值 因此,我执行了以下代码df.apply(pd.Series.value\u counts),这对我来说非常有效 但是,现在我想在我的代码中添加参数'dropna=False',如下所示:df.apply(pd.Series.value_counts(dropna=False))。但现在我得到了以下错误: value_counts() missing 1 required positional argument: 'self' 有人知道如何

我希望遍历pandas数据帧的所有列,并计算每列中的值

因此,我执行了以下代码
df.apply(pd.Series.value\u counts)
,这对我来说非常有效

但是,现在我想在我的代码中添加参数'dropna=False',如下所示:
df.apply(pd.Series.value_counts(dropna=False))
。但现在我得到了以下错误:

value_counts() missing 1 required positional argument: 'self'
有人知道如何解决这个问题吗


关于

您可以使用lambda将参数
dropna=False
传递到
value\u counts
函数中

df.apply((lambda x: pd.Series.value_counts(x, dropna=False)))

让我知道它是否给出了所需的输出。

您可以使用lambda将参数
dropna=False
传递到
value\u counts
函数中

df.apply((lambda x: pd.Series.value_counts(x, dropna=False)))

让我知道它是否提供了所需的输出。

谢谢您的回复。不幸的是,建议的代码将导致完全相同的行为,就像我删除参数一样(dropna=False)。参数似乎没有转发到函数。@blackrafi它似乎正在处理我的示例数据。你能上传你正在使用的样本数据和预期的输出吗?对不起,你的建议非常有效。我的脚本有一点错误。非常感谢。谢谢你的回复。不幸的是,建议的代码将导致完全相同的行为,就像我删除参数一样(dropna=False)。参数似乎没有转发到函数。@blackrafi它似乎正在处理我的示例数据。你能上传你正在使用的样本数据和预期的输出吗?对不起,你的建议非常有效。我的脚本有一点错误。非常感谢。