1.现有一个职业人群体检数据testdata.xls文件,请完成以下数据分析任务。 (1)用read_excel()方法读取testdata.xls文件到变量df中。 (2)用df.dtypes查看每列的数据类型。 (3)用df.info()查看表结构。 (4)用isnull().sum()统计各字段空缺值。 (5)用dropna()方法删除全为空的列。 (6)用dropna()方法删除“身份证号”为空的行,并用isnull().sum()再次统计空值。 (7)将“开始从事某工作年份:2009年”中的“年”去掉,将“体检年份:2009年”中的“年”去掉,并用rename()将列名“开始从事某工作年份”改为“参加工作时间”。 (8)用dropna()方法删除“参加工作时间”、“体检年份”为空的行. (9)用astype()方法将“参加工作时间”、“体检年份”数据类型改为int64. (10)增加一列“工龄”,工龄=体检年份-参加工作时间;新增一列“年龄” (11)用groupby()统计不同性别的白细胞计数均值,并用plot()方法绘制柱状图 (12)统计不同年龄段的白细胞计数,并绘制柱状图。年龄划分:小于等于30岁,31~40岁,41~50岁,大于50岁。
时间: 2023-11-28 22:50:26 浏览: 53
以下是答案:
```python
import pandas as pd
# 1. 读取文件
df = pd.read_excel('testdata.xls')
# 2. 查看每列的数据类型
print(df.dtypes)
# 3. 查看表结构
print(df.info())
# 4. 统计各字段空缺值
print(df.isnull().sum())
# 5. 删除全为空的列
df.dropna(axis=1, how='all', inplace=True)
# 6. 删除“身份证号”为空的行,并再次统计空值
df.dropna(subset=['身份证号'], inplace=True)
print(df.isnull().sum())
# 7. 去掉“年”,并将“开始从事某工作年份”改为“参加工作时间”
df['参加工作时间'] = df['开始从事某工作年份:2009年'].apply(lambda x: int(x.replace('年', '')))
df['体检年份'] = df['体检年份:2009年'].apply(lambda x: int(x.replace('年', '')))
df.drop(['开始从事某工作年份:2009年', '体检年份:2009年'], axis=1, inplace=True)
df.rename(columns={'开始从事某工作年份:2009年': '参加工作时间'}, inplace=True)
# 8. 删除“参加工作时间”、“体检年份”为空的行
df.dropna(subset=['参加工作时间', '体检年份'], inplace=True)
# 9. 将“参加工作时间”、“体检年份”数据类型改为int64
df[['参加工作时间', '体检年份']] = df[['参加工作时间', '体检年份']].astype(int)
# 10. 增加一列“工龄”,工龄=体检年份-参加工作时间;新增一列“年龄”
df['工龄'] = df['体检年份'] - df['参加工作时间']
df['年龄'] = df['出生年'].apply(lambda x: 2009 - x)
# 11. 统计不同性别的白细胞计数均值,并绘制柱状图
df.groupby('性别')['白细胞计数'].mean().plot(kind='bar')
# 12. 统计不同年龄段的白细胞计数,并绘制柱状图
bins = [0, 30, 40, 50, 100]
labels = ['<=30', '31-40', '41-50', '>50']
df['年龄段'] = pd.cut(df['年龄'], bins=bins, labels=labels, include_lowest=True)
df.groupby('年龄段')['白细胞计数'].mean().plot(kind='bar')
```
相关推荐
![bdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)