You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas DataFrame中获取列值并将分类统计值存入变量

在Pandas DataFrame中获取列值及存储分类统计值

示例DataFrame

先基于你提供的表格创建对应DataFrame:

LocationCategoryCount
Duliajan AreaPD1
Duliajan AreaSE3
HAPJANCOL1
HAPJANOTH1
KATHALGURICOL1
KATHALGURIDP-PD1

创建代码:

import pandas as pd

data = {
    'Location': ['Duliajan Area', 'Duliajan Area', 'HAPJAN', 'HAPJAN', 'KATHALGURI', 'KATHALGURI'],
    'Category': ['PD', 'SE', 'COL', 'OTH', 'COL', 'DP-PD'],
    'Count': [1, 3, 1, 1, 1, 1]
}

df = pd.DataFrame(data)

一、获取DataFrame的列值

常用方法如下:

  • 方括号索引:支持所有列名,可单列/多列获取
    # 获取单列所有值
    location_col = df['Location']
    # 获取多列
    loc_count_cols = df[['Location', 'Count']]
    
  • 点号访问:仅适用于列名无空格、特殊字符的情况
    count_col = df.Count
    
  • iloc按位置索引:通过列的序号获取(从0开始计数)
    # 获取第2列(Category)的所有值
    category_col = df.iloc[:, 1]
    
  • loc按标签筛选:可结合条件提取指定行的列值
    # 获取Duliajan Area对应的Count值
    duliajan_counts = df.loc[df['Location'] == 'Duliajan Area', 'Count']
    

二、将分类统计值存入变量

根据需求分场景处理:

1. 全局分类汇总存储

先按Category分组统计Count总和,再提取目标值存入变量:

# 把分类统计结果转成字典
category_total = df.groupby('Category')['Count'].sum().to_dict()

# 直接生成指定格式的变量
pd_stat = f"(PD - {category_total['PD']})"
se_stat = f"(SE - {category_total['SE']})"

2. 按Location分组的分类存储

如果需要针对特定区域的分类统计:

# 筛选Duliajan Area的数据并转成字典
duliajan_stats = df[df['Location'] == 'Duliajan Area'].set_index('Category')['Count'].to_dict()

# 生成对应变量
duliajan_pd = f"(PD - {duliajan_stats['PD']})"
duliajan_se = f"(SE - {duliajan_stats['SE']})"

3. 批量存储所有分类统计

如果要把所有分类的统计值都存入变量,推荐用字典统一管理(避免动态变量命名混乱):

category_total = df.groupby('Category')['Count'].sum()
stat_dict = {cat: f"({cat} - {cnt})" for cat, cnt in category_total.items()}

# 调用示例
print(stat_dict['PD'])  # 输出:(PD - 1)
print(stat_dict['SE'])  # 输出:(SE - 3)

内容的提问来源于stack exchange,提问作者venkateswaran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:45:31