2877. 从表中创建 DataFrame
2877. 从表中创建 DataFrame
题目
Write a solution to create a DataFrame from a 2D list called student_data
. This 2D list contains the IDs and ages of some students.
The DataFrame should have two columns, student_id
and age
, and be in the same order as the original 2D list.
The result format is in the following example.
Example 1:
Input: student_data:
[ [1, 15], [2, 11], [3, 11], [4, 20] ]
Output:
+------------+-----+ | student_id | age | +------------+-----+ | 1 | 15 | | 2 | 11 | | 3 | 11 | | 4 | 20 | +------------+-----+
Explanation:
A DataFrame was created on top of student_data, with two columns named student_id and age.
题目大意
编写一个解决方案,基于名为 student_data
的二维列表 创建 一个 DataFrame 。这个二维列表包含一些学生的 ID 和年龄信息。
DataFrame 应该有两列, student_id
和 age
,并且与原始二维列表的顺序相同。
返回结果格式如下示例所示。
示例 1:
输入: student_data:
[ [1, 15], [2, 11], [3, 11], [4, 20] ]
输出:
+------------+-----+ | student_id | age | +------------+-----+ | 1 | 15 | | 2 | 11 | | 3 | 11 | | 4 | 20 | +------------+-----+
解释:
基于 student_data 创建了一个 DataFrame,包含 student_id 和 age 两列。
解题思路
- 导入
pandas
库。 - 定义一个以 2D 列表为输入的函数。
- 使用
pandas
的DataFrame
构造函数从输入列表创建DataFrame
。 - 在创建
DataFrame
时指定列名称以匹配所需的输出。 - 返回创建的
DataFrame
。
复杂度分析
- 时间复杂度:
O(n)
,其中n
是列表中元素的总数,从列表创建DataFrame
的时间复杂度与输入列表中的元素数量成正比。 - 空间复杂度:
O(n)
,创建的DataFrame
将存储输入列表中的所有元素,占用的空间与输入数据大小成正比。
代码
import pandas as pd
def createDataframe(student_data: List[List[int]]) -> pd.DataFrame:
return pd.DataFrame(student_data, columns = ["student_id", "age"])