【Python通过列表创建DataFrame的方法】

在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)

2. 嵌套列表创建多列DataFrame

如果你有一个嵌套列表(即列表的列表),每个内部列表代表一行数据,可以创建一个多列的DataFrame

# 嵌套列表
data = [[1, 'a'], [2, 'b'], [3, 'c']]

# 创建多列DataFrame
df = pd.DataFrame(data, columns=['Column1', 'Column2'])

print(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)

4. 指定索引

在创建DataFrame时,你可以通过index参数指定行索引。

# 嵌套列表
data = [[1, 'a'], [2, 'b'], [3, 'c']]

# 指定索引创建DataFrame
df = pd.DataFrame(data, columns=['Column1', 'Column2'], index=['Row1', 'Row2', 'Row3'])

print(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)

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)

个人认为,如果是单行的列表,使用列表转换dataframe;但如果要做到键对关系,且多层级列表,建议还是使用dict转换比较方便。

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值