在Python中,可以使用`pandas`库进行数据的分类统计。以下是一些基本的方法和示例代码:
使用`groupby`函数进行分类统计
import pandas as pd
定义数据框
data = {
'gender': ['male', 'female', 'male', 'female', 'male', 'female'],
'age': [25, 30, 35, 40, 45, 50],
'salary': [50000, 60000, 70000, 80000, 90000, ]
}
df = pd.DataFrame(data)
按性别分组,统计每个性别的人数和平均薪资
grouped = df.groupby('gender').agg({'age': 'count', 'salary': 'mean'})
print(grouped)
使用`pivot_table`创建交叉表进行分类统计
import pandas as pd
定义数据框
data = {
'A': ['foo', 'foo', 'bar', 'bar', 'foo', 'bar'],
'B': [1, 2, 3, 4, 5, 6],
'C': [2.0, 5., 8., 1.0, 2., 9.]
}
df = pd.DataFrame(data)
创建交叉表,对数据进行分类汇总
pivot = df.pivot_table(index='A', values=['B', 'C'], aggfunc='sum')
print(pivot)
import pandas as pd
定义数据框
data = pd.Series([1, 2, 3, 7, 9, 13, 14])
按0-6, 7-12, 12-进行分类
result = pd.cut(data, bins=[0, 6, 12, data.max()], labels=[0, 1, 2])
print(result)
使用`apply`函数对文本型变量进行分类
import pandas as pd
定义数据框
data = pd.Series(['normal', 'abnormal', 'normal', 'abnormal', 'normal', 'abnormal'])
使用关键字提取进行分类
def classify_text(text):
if 'a' in text:
return 'a类'
elif 'b' in text or 'c' in text:
return 'b类'
elif 'd' in text:
return '正常'
else:
return None
data['classification'] = data.apply(classify_text)
print(data)
以上示例展示了如何使用`pandas`库进行数据的分类统计。您可以根据具体需求选择合适的方法。