在python中,使用pandas库可以通过列表创建dataframe对象。列表可以是单层列表,也可以是嵌套列表(即列表的列表),分别对应于单列和多列的数据。以下是几种使用列表创建dataframe的常见方法:
1. 单层列表创建单列dataframe
如果你有一个单层列表,可以直接将其传递给dataframe构造函数来创建一个单列的dataframe。
import pandas as pd
# 单层列表
data = [1, 2, 3, 4]
# 创建单列dataframe
df = pd.dataframe(data, columns=['column1'])
print('df:',df)2. 嵌套列表创建多列dataframe
如果你有一个嵌套列表(即列表的列表),每个内部列表代表一行数据,可以创建一个多列的dataframe。
# 嵌套列表
data = [[1, 'a'], [2, 'b'], [3, 'c']]
# 创建多列dataframe
df = pd.dataframe(data, columns=['column1', 'column2'])
print('df:',df)3. 使用列表推导式创建dataframe
有时你可能需要根据一些规则或计算来创建列表,然后使用这些列表创建dataframe。
# 使用列表推导式创建数据
data = [[i for i in range(1, 5)], ['a' + str(i) for i in range(1, 5)]]
# 创建dataframe
df = pd.dataframe(data, columns=['column1', 'column2'])
print('df:',df)4. 指定索引
在创建dataframe时,你可以通过index参数指定行索引。
# 嵌套列表
data = [[1, 'a'], [2, 'b'], [3, 'c']]
# 指定索引创建dataframe
df = pd.dataframe(data, columns=['column1', 'column2'], index=['row1', 'row2', 'row3'])
print('df:',df)5. 处理非均匀长度的列表
如果嵌套列表中的子列表长度不一致,pandas会自动处理这种情况,用nan填充短的子列表。
# 长度不一致的嵌套列表
data = [[1, 'a', 0.1], [2, 'b'], [3, 'c', 0.3]]
# 创建dataframe,自动填充nan
df = pd.dataframe(data, columns=['column1', 'column2', 'column3'])
print('df:',df)6. 从多个列表创建dataframe
如果你想从多个列表创建具有不同列数据的dataframe,可以将这些列表作为dataframe构造函数的参数。
# 多个列表
data_column1 = [1, 2, 3]
data_column2 = ['a', 'b', 'c']
data_column3 = [true, false, true]
# 从多个列表创建dataframe
df = pd.dataframe([data_column1, data_column2, data_column3], columns=['column1', 'column2', 'column3'])
print('df:',df)ps: 个人认为,如果是单行的列表,使用列表转换dataframe;但如果要做到键对关系,且多层级列表,建议还是使用dict转换比较方便。
到此这篇关于python通过列表创建dataframe的方法 的文章就介绍到这了,更多相关python列表创建dataframe内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论