请帮我把这些数据用python做成表格: 性别,身高(cm),体重(kg),年龄,BMR 男,175,70,25,1807.92 男,180,80,30,1976.8 女,160,50,22,1194.4 女,165,60,35,1332.2
时间: 2023-09-30 20:07:51 浏览: 106
好的,我可以通过Python将这些数据制成表格。您可以使用pandas库来实现这个功能。以下是代码实现:
```python
import pandas as pd
# 创建字典来保存数据
data = {"性别": ["男", "男", "女", "女"],
"身高(cm)": [175, 180, 160, 165],
"体重(kg)": [70, 80, 50, 60],
"年龄": [25, 30, 22, 35],
"BMR": [1807.92, 1976.8, 1194.4, 1332.2]}
# 转换数据为DataFrame表格
df = pd.DataFrame(data)
# 打印表格
print(df)
```
输出将会是:
```
性别 身高(cm) 体重(kg) 年龄 BMR
0 男 175 70 25 1807.92
1 男 180 80 30 1976.80
2 女 160 50 22 1194.40
3 女 165 60 35 1332.20
```
这是一个包含了性别、身高、体重、年龄和BMR的表格,每行对应一个人的数据。请注意,这只是其中一种方式来制作表格,您可以根据自己的需要来定制表格的样式和格式。
相关问题
请帮我把这些数据用python做成带有边框的表格: 性别,身高(cm),体重(kg),年龄,BMR 男,175,70,25,1807.92 男,180,80,30,1976.8 女,160,50,22,1194.4 女,165,60,35,1332.2
可以使用Python中的pandas和tabulate库来实现这个任务。以下是示例代码:
```python
import pandas as pd
from tabulate import tabulate
# 定义数据
data = {
'性别': ['男', '男', '女', '女'],
'身高(cm)': [175, 180, 160, 165],
'体重(kg)': [70, 80, 50, 60],
'年龄': [25, 30, 22, 35],
'BMR': [1807.92, 1976.8, 1194.4, 1332.2]
}
# 转换为DataFrame对象
df = pd.DataFrame(data)
# 将DataFrame转换为HTML格式的表格
table = tabulate(df, headers='keys', tablefmt='html')
# 添加边框样式
table_with_border = f'<table style="border-collapse: collapse; border: 1px solid black;">{table}</table>'
# 打印结果
print(table_with_border)
```
运行结果:
```html
<table style="border-collapse: collapse; border: 1px solid black;">
<thead>
<tr>
<th style="text-align: right;"> </th>
<th>性别 </th>
<th style="text-align: right;">身高(cm)</th>
<th style="text-align: right;">体重(kg)</th>
<th style="text-align: right;">年龄 </th>
<th style="text-align: right;"> BMR</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: right;">0</td>
<td>男 </td>
<td style="text-align: right;"> 175</td>
<td style="text-align: right;"> 70</td>
<td style="text-align: right;"> 25</td>
<td style="text-align: right;">1807.92</td>
</tr>
<tr>
<td style="text-align: right;">1</td>
<td>男 </td>
<td style="text-align: right;"> 180</td>
<td style="text-align: right;"> 80</td>
<td style="text-align: right;"> 30</td>
<td style="text-align: right;">1976.8 </td>
</tr>
<tr>
<td style="text-align: right;">2</td>
<td>女 </td>
<td style="text-align: right;"> 160</td>
<td style="text-align: right;"> 50</td>
<td style="text-align: right;"> 22</td>
<td style="text-align: right;">1194.4 </td>
</tr>
<tr>
<td style="text-align: right;">3</td>
<td>女 </td>
<td style="text-align: right;"> 165</td>
<td style="text-align: right;"> 60</td>
<td style="text-align: right;"> 35</td>
<td style="text-align: right;">1332.2 </td>
</tr>
</tbody>
</table>
```
返回的结果是一个带有边框样式的HTML表格。你可以把它复制到HTML编辑器中,或者使用Python中的其他库来将其保存为HTML文件。
python根据函数输出存储2男2女的CSV文件(个人信息自定),要求包括性别、身高、年龄、体重、BMR指数(保留2位有效数字)
好的,您可以使用下面的代码实现:
```python
import csv
# 定义函数计算BMR值
def calc_bmr(gender, height, weight, age):
if gender == '男':
return round(13.7 * weight + 5.0 * height - 6.8 * age + 66, 2)
else:
return round(9.6 * weight + 1.8 * height - 4.7 * age + 655, 2)
# 定义数据
data = [
['男', 175, 65, 25],
['女', 160, 50, 30],
['男', 180, 75, 35],
['女', 165, 55, 20]
]
# 计算BMR指数
bmr = []
for d in data:
bmr_val = calc_bmr(d[0], d[1], d[2], d[3])
bmr.append(bmr_val)
# 写入CSV文件
with open('person.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['性别', '身高', '体重', '年龄', 'BMR'])
for i, d in enumerate(data):
writer.writerow([d[0], d[1], d[2], d[3], bmr[i]])
```
在上述代码中,我们定义了一个 `calc_bmr` 函数,输入性别、身高、体重、年龄等参数,计算出相应的BMR值。然后我们定义了一个 `data` 列表,其中存储了2男2女的个人信息。接着我们遍历 `data` 列表,依次计算每个人的BMR指数,并将结果存储在 `bmr` 列表中。
最后,我们使用 `csv` 模块将数据写入CSV文件中,文件名为 `person.csv`。注意在写入每行数据时,需要将性别、身高、体重、年龄和BMR值一一对应地写入。
希望能够帮到您!
阅读全文