Python - 基于字段值计数数据

2024-09-28 18:53:58 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一个包含以下数据的CSV文件:

Name    Age Gender
Bob     23  Male
Ahmed   45  Male
Alice   37  Female
Ahmed   34  Male
Mariyya 10  Female
Bilal   23  Male

如何执行以下操作:

  • 计算每个名称出现的次数
  • 根据频率对字段进行排序并显示频率。例如,Ahmed应该以2次开头Male应该以4次优先
  • 根据名称排序,并将结果中的Gender与名称一起显示

谢谢你的支持


Tags: 文件csv数据name名称age排序gender
1条回答
网友
1楼 · 发布于 2024-09-28 18:53:58

您可以使用熊猫:

import pandas as pd
from io import StringIO

csv_file = StringIO("""Name    Age Gender
Bob     23  Male
Ahmed   45  Male
Alice   37  Female
Ahmed   34  Male
Mariyya 10  Female
Bilal   23  Male""")

df = pd.read_csv(csv_file, sep="\s+",index_col=None)

df['Name'].value_counts()

输出:

Ahmed      2
Mariyya    1
Bilal      1
Bob        1
Alice      1
Name: Name, dtype: int64


df['Gender'].value_counts()

输出:

Male      4
Female    2
Name: Gender, dtype: int64

df.sort_values(by='Name')

输出:

      Name  Age  Gender
1    Ahmed   45    Male
3    Ahmed   34    Male
2    Alice   37  Female
5    Bilal   23    Male
0      Bob   23    Male
4  Mariyya   10  Female

相关问题 更多 >