Python通过列表创建DataFrame的常见方法

 更新时间:2025年07月08日 09:42:09   作者:小华子178  
本文介绍了通过列表创建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:',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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python变量不能以数字打头详解

    python变量不能以数字打头详解

    下面小编就为大家带来一篇python变量不能以数字打头详解。小编觉得挺不错的,现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • python中numpy矩阵的零填充的示例代码

    python中numpy矩阵的零填充的示例代码

    本文主要介绍了python中numpy矩阵的零填充的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 深度学习TextLSTM的tensorflow1.14实现示例

    深度学习TextLSTM的tensorflow1.14实现示例

    这篇文章主要为大家介绍了深度学习TextLSTM的tensorflow1.14实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 解决pandas展示数据输出时列名不能对齐的问题

    解决pandas展示数据输出时列名不能对齐的问题

    今天小编就为大家分享一篇解决pandas展示数据输出时列名不能对齐的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python使用requests实现发送带文件请求功能

    python使用requests实现发送带文件请求功能

    这篇文章主要介绍了python使用requests实现发送带文件请求,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Python进阶篇之多线程爬取网页

    Python进阶篇之多线程爬取网页

    这篇文章主要为大家介绍了Python进阶中利用多线程来爬取网页的示例实现及解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • 使用Python构建一个高效的日志处理系统

    使用Python构建一个高效的日志处理系统

    这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下
    2025-07-07
  • Python xml、字典、json、类四种数据类型如何实现互相转换

    Python xml、字典、json、类四种数据类型如何实现互相转换

    这篇文章主要介绍了Python xml、字典、json、类四种数据类型如何实现互相转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 基于Django集成CAS实现流程详解

    基于Django集成CAS实现流程详解

    这篇文章主要介绍了基于Django集成CAS实现流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python中顺序表的实现简单代码分享

    Python中顺序表的实现简单代码分享

    这篇文章主要介绍了Python中顺序表的实现简单代码分享,展示了代码运行结果,然后分享了相关实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论