python如何将一个公司表格中不同科室的职工汇总为到一行上
时间: 2024-09-10 20:09:11 浏览: 37
在Python中,特别是使用pandas库处理Excel或CSV文件时,你可以通过`pivot_table`函数或者`groupby`+`agg`方法来将不同科室的职工数据汇总到一行上。假设你有一个包含“科室”、“职工姓名”和“其他相关信息”的DataFrame,步骤如下:
```python
import pandas as pd
# 假设df是你加载的数据
# df = pd.read_excel('company_data.xlsx') 或 df = pd.read_csv('company_data.csv')
# 使用pivot_table进行汇总
df_pivot = df.pivot(index='职工姓名', columns='科室', values='其他相关信息').fillna(0)
# 这样,每个职工姓名下会有一行,列出他们在各个科室的相关信息
# 如果你想保留科室名称作为列名,可以这样做:
df_pivot.columns = ['_'.join(col).strip() for col in df_pivot.columns]
```
或者,如果数据结构允许,也可以先按科室分组,然后对每个组求聚合:
```python
df_grouped = df.groupby(['职工姓名']).agg({'科室': 'first', '其他相关信息': 'sum'})
```
这里`first`表示选择每个职工的第一个科室,`sum`则是将所有科室的信息相加。