张三 李四 语文 100 89 数学 120 100 英语 110 102 理综 220 200请分别用数组和字典的方式创建出DataFrame,命名为df1和df2:
时间: 2024-09-09 15:17:18 浏览: 60
张三和李四的成绩可以用两个数据结构来表示,分别是数组和字典。这里我会为你演示如何将成绩转换为DataFrame格式。
首先,我们用数组的方式创建:
```python
import pandas as pd
# 定义数组
scores_array = [
["张三", "语文", 100, 120, 110, 220],
["李四", "语文", 89, 100, 102, 200]
]
# 创建DataFrame df1
df1 = pd.DataFrame(scores_array, columns=["姓名", "科目", "语文", "数学", "英语", "理综"])
```
接下来,我们用字典列表的方式创建:
```python
scores_dict_list = [
{"姓名": "张三", "科目": ["语文", "数学", "英语", "理综"], "分数": [100, 120, 110, 220]},
{"姓名": "李四", "科目": ["语文", "数学", "英语", "理综"], "分数": [89, 100, 102, 200]}
]
# 将字典列表转换为DataFrame
df2 = pd.DataFrame(scores_dict_list)
df2.set_index("姓名", inplace=True) # 设置姓名作为索引
```
现在,`df1`和`df2`都是包含张三和李四成绩的DataFrame。
相关问题
用python写一段代码 根据以下考试成绩表,创建一个dataframe, 命名为ddd : 张三 李四 语文1500 数学1500 英语150 0 理综300 0
以下是根据提供的考试成绩表创建DataFrame的Python代码:
```
import pandas as pd
# 方法一
data = {'张三': [1500, 150, 150, 300], '李四': [0, 0, 0, 0]}
ddd = pd.DataFrame(data, index=['语文', '数学', '英语', '理综'])
# 方法二
dic = {'张三': [1500, 150, 150, 300], '李四': [0, 0, 0, 0]}
ddd = pd.DataFrame(dic, index=['语文', '数学', '英语', '理综'])
# 方法三
data2 = {'张三': [110, 140, 130, 289], '李四': [80, 90, 60, 180]}
ddd = pd.DataFrame(data2, index=['语文', '数学', '英语', '理综'])
```
其中,方法一和方法二是根据提供的考试成绩表直接创建DataFrame,方法三是根据另一个考试成绩表创建DataFrame,但是也可以根据需求进行修改。
.用一条 SQL 语句 查询出每门课都大于 80 分的学生姓名 grade表: name course score 张三 语文 81 张三数学 75 李四语文 76 李四 数学 90 王五 语文81 王五 数学 100 王五 英语 90
可以使用以下SQL语句查询出每门课都大于80分的学生姓名:
```sql
SELECT name
FROM grade
GROUP BY name
HAVING MIN(score) > 80;
```
以上SQL语句使用`GROUP BY`对姓名进行分组,然后使用`HAVING`关键字过滤分组结果,只选择所有分数都大于80分的学生姓名。`MIN(score)`表示每个分组中最小的分数,如果最小分数都大于80分,则表示该学生每门课都大于80分。
阅读全文