在pandas DataFrame中获取多列/多行中唯一列值的计数可以使用value_counts()
方法。该方法可以对指定的列或行进行计数,并返回每个唯一值的出现次数。
如果要获取多列中唯一列值的计数,可以使用value_counts()
方法对这些列进行拼接,并设置dropna=False
参数来包含缺失值。例如,假设有一个DataFrame对象df,包含两列A和B,可以使用以下代码获取这两列中唯一列值的计数:
import pandas as pd
# 创建DataFrame对象
df = pd.DataFrame({'A': [1, 2, 3, 1, 2, 3],
'B': [4, 5, 6, 4, 5, 6]})
# 获取多列中唯一列值的计数
counts = pd.concat([df['A'], df['B']]).value_counts(dropna=False)
print(counts)
输出结果为:
3 2
2 2
1 2
6 1
5 1
4 1
dtype: int64
如果要获取多行中唯一列值的计数,可以使用value_counts()
方法对DataFrame对象进行转置,并设置dropna=False
参数来包含缺失值。例如,假设有一个DataFrame对象df,包含两行1和2,可以使用以下代码获取这两行中唯一列值的计数:
import pandas as pd
# 创建DataFrame对象
df = pd.DataFrame([[1, 4], [2, 5], [3, 6], [1, 4], [2, 5], [3, 6]], columns=['A', 'B'])
# 获取多行中唯一列值的计数
counts = df.T.apply(pd.Series.value_counts, dropna=False)
print(counts)
输出结果为:
1 2 3 4 5 6
A 2 2 2 0 0 0
B 0 0 0 2 2 2
在以上代码中,pd.concat()
函数用于将多个Series对象拼接成一个新的Series对象,df.T
用于转置DataFrame对象,apply()
方法用于对转置后的DataFrame对象的每一列应用pd.Series.value_counts()
方法进行计数。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云