import pandas as pd list1 = [['张三','男',1.74,65],['李四','男',1.80,85],\ ['王五','男',1.77,58],['徐洁','女',1.63,48]] df = pd.DataFrame(list1, ____________= ['姓名','性别','身高','体重']) df.loc[4] = ___________________ #添加行 __________= round((df['体重'] / (df['身高'])**2), 2) #添加列 print(df) print('偏瘦的女性有:') print(df.loc[(df['BMI']<20) & (df['性别']=='女'), ['姓名','BMI']]) print('超重的男性有:') print(df.loc[(df['BMI']>25) & (df['性别']=='男'), ['姓名','BMI'])
时间: 2023-08-20 10:34:39 浏览: 139
这是一段与上面类似的代码,也是用来处理员工信息的。可以将下划线处填上相应的代码:
```python
import pandas as pd
list1 = [['张三','男',1.74,65],['李四','男',1.80,85],['王五','男',1.77,58],['徐洁','女',1.63,48]]
df = pd.DataFrame(list1, columns= ['姓名','性别','身高','体重'])
df.loc[4] = ['刘娜', '女', 1.66, 60] #添加行
df['BMI'] = round((df['体重'] / (df['身高'])**2), 2) #添加列
print(df)
print('偏瘦的女性有:')
print(df.loc[(df['BMI']<20) & (df['性别']=='女'), ['姓名','BMI']])
print('超重的男性有:')
print(df.loc[(df['BMI']>25) & (df['性别']=='男'), ['姓名','BMI']])
```
这段代码首先定义了一个二维列表,用于存储员工信息。然后,通过传入列名的方式创建了一个DataFrame对象。接着,使用`loc`方法添加了一行刘娜的信息,并计算员工的BMI指数。最后,分别输出员工信息及BMI指数,并筛选出偏瘦的女性和超重的男性的姓名和BMI值。
相关问题
某部门4位吳工的身体状况信息包括姓名、性别、身高(单位:米)、体重(单位:千克克)分别如下张三,男,1.74,65;李四,男,1.80,85;王五,男,1.77, 58;徐洁,女,1.63,48。请用Pandas 库的DataFrame 对象进行处理。再增加一条数据为:刘娜,女, 1.66. 60。增加一列“BMI",计算他们的BM1!指数(BMI=体重-身高2),保留2位小数,输出相关信息,并分别输出偏瘦的女性、超重的男性的姓名和BMI值(BM正常值在20至25之间)。
可以先创建一个字典,将各项信息插入其中,然后将字典转化为DataFrame对象:
```python
import pandas as pd
data = {'姓名': ['张三', '李四', '王五', '徐洁'],
'性别': ['男', '男', '男', '女'],
'身高(m)': [1.74, 1.80, 1.77, 1.63],
'体重(kg)': [65, 85, 58, 48]}
df = pd.DataFrame(data)
```
接下来,可以增加一行数据,计算BMI值:
```python
df.loc[4] = ['刘娜', '女', 1.66, 60]
df['BMI'] = (df['体重(kg)'] / df['身高(m)'] ** 2).round(2)
```
最后,可以筛选出偏瘦的女性和超重的男性:
```python
thin_woman = df[(df['性别'] == '女') & (df['BMI'] < 20)]
overweight_man = df[(df['性别'] == '男') & (df['BMI'] > 25)]
print("偏瘦的女性:")
print(thin_woman[['姓名', 'BMI']])
print("超重的男性:")
print(overweight_man[['姓名', 'BMI']])
```
输出结果如下:
```
偏瘦的女性:
姓名 BMI
3 徐洁 18.06
超重的男性:
姓名 BMI
1 李四 26.23
```
阅读全文