Pandas嵌套列表转Pandas Dataframe带表头
在本文中,我们将介绍如何将Pandas嵌套列表转换为Pandas Dataframe,并为其提供表头。嵌套列表是指一个列表中包含多个子列表的情况,而嵌套列表的每个子列表都可以看做是一个记录。例如,以下就是一个包含5条记录的嵌套列表:
nested_list = [[1, 'John', 23],
[2, 'Sally', 31],
[3, 'Mike', 42],
[4, 'Emily', 28],
[5, 'Kevin', 35]]
每条记录包含3个字段:id、name和age。现在我们希望将这个嵌套列表转换为Pandas Dataframe,并为其添加表头。具体步骤如下:
阅读更多:Pandas 教程
1. 将嵌套列表转换为Pandas Dataframe
首先,我们需要将嵌套列表转换为Pandas Dataframe。这可以通过Pandas的DataFrame()函数来实现:
import pandas as pd
df = pd.DataFrame(nested_list)
print(df)
输出结果如下:
0 1 2
0 1 John 23
1 2 Sally 31
2 3 Mike 42
3 4 Emily 28
4 5 Kevin 35
可以看到,这个Dataframe中没有表头,而是使用数字0、1、2作为列名。接下来我们需要为其添加表头。
2. 为Pandas Dataframe添加表头
为了为Dataframe添加表头,我们需要创建一个包含表头的列表。例如,如果我们希望将第一列命名为”id”,第二列命名为”name”,第三列命名为”age”,则可以创建如下表头列表:
headers = ['id', 'name', 'age']
接着,我们将这个表头列表作为参数传递给Dataframe的columns属性:
df.columns = headers
print(df)
输出结果如下:
id name age
0 1 John 23
1 2 Sally 31
2 3 Mike 42
3 4 Emily 28
4 5 Kevin 35
可以看到,现在这个Dataframe已经具备了表头。
3. 将上述步骤合并为一个函数
如果我们需要将多个嵌套列表转换成Dataframe,并添加相同的表头,那么可以将上述两个步骤合并为一个函数:
def nested_list_to_dataframe(nested_list, headers):
df = pd.DataFrame(nested_list)
df.columns = headers
return df
我们可以像下面这样调用这个函数:
nested_list = [[1, 'John', 23],
[2, 'Sally', 31],
[3, 'Mike', 42],
[4, 'Emily', 28],
[5, 'Kevin', 35]]
headers = ['id', 'name', 'age']
df = nested_list_to_dataframe(nested_list, headers)
print(df)
输出结果同上。
总结
本文介绍了如何将Pandas嵌套列表转换为Pandas Dataframe,并为其添加表头。具体步骤包括将嵌套列表转换为Dataframe,以及为Dataframe添加表头。我们还提供了一个将两个步骤合并为一个函数的方法,可以在需要时快速转换多个嵌套列表。