python 中的频率单独列
frequency seperate column in python
我可能有一个简单的问题,但我在这个平台上找不到答案。我的数据集 df 中有一组列,如下所示:
A
B
C
D
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
当我想要 A 列的频率时,我有以下脚本:
df.A.value_counts()
我得到:
一个3
名称:A,数据类型:int64
但现在我想要所有 4 列的计数。我制作了以下脚本:
df[['A', 'B', 'C', 'D']].value_counts()
我想得到输出:A 3、B 2、C 1、D 3。但我只得到 A 的计数,而没有得到其他列。我在这里做错了什么?
如果我正确解释你的输出,我想你想要的是个数。您可以为此使用 sum()
函数:
print(df.sum())
根据您的输入给出以下输出:
A 3
B 2
C 1
D 3
dtype: int64
函数 value_counts
为您提供列中的唯一值,这将为您提供 1
作为任何列的输出。所以,我假设这不是你想要的。
编辑:
如果您只需要几列,您可以先过滤列,然后应用总和。示例:
# Select the columns; example without C
columns_you_want = ['A', 'B', 'D']
# Filter df before applying the sum function
print(df[columns_you_want].sum())
输出只是想要的列(没有 C):
A 3
B 2
D 3
dtype: int64
如果您想计算几个不同列中的特定值,您可以使用:
df[df == VALUE].count()
在这个例子中是:
df[df == 1].count()
我可能有一个简单的问题,但我在这个平台上找不到答案。我的数据集 df 中有一组列,如下所示:
A | B | C | D |
---|---|---|---|
0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
当我想要 A 列的频率时,我有以下脚本:
df.A.value_counts()
我得到:
一个3
名称:A,数据类型:int64
但现在我想要所有 4 列的计数。我制作了以下脚本:
df[['A', 'B', 'C', 'D']].value_counts()
我想得到输出:A 3、B 2、C 1、D 3。但我只得到 A 的计数,而没有得到其他列。我在这里做错了什么?
如果我正确解释你的输出,我想你想要的是个数。您可以为此使用 sum()
函数:
print(df.sum())
根据您的输入给出以下输出:
A 3
B 2
C 1
D 3
dtype: int64
函数 value_counts
为您提供列中的唯一值,这将为您提供 1
作为任何列的输出。所以,我假设这不是你想要的。
编辑: 如果您只需要几列,您可以先过滤列,然后应用总和。示例:
# Select the columns; example without C
columns_you_want = ['A', 'B', 'D']
# Filter df before applying the sum function
print(df[columns_you_want].sum())
输出只是想要的列(没有 C):
A 3
B 2
D 3
dtype: int64
如果您想计算几个不同列中的特定值,您可以使用:
df[df == VALUE].count()
在这个例子中是:
df[df == 1].count()