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 GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例

    python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例

    这篇文章主要介绍了python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例,需要的朋友可以参考下
    2020-02-02
  • Python新手入门之常用关键字的简单示例详解

    Python新手入门之常用关键字的简单示例详解

    关键字是预先保留的标识符,每个关键字都有特殊的含义,下面这篇文章主要给大家介绍了关于Python新手入门之常用关键字的简单示例,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Python快速实现一个线程池的示例代码

    Python快速实现一个线程池的示例代码

    当有多个 IO 密集型的任务要被处理时,我们自然而然会想到多线程。而线程池的实现也很简单,因为 Python 提供了一个标准库 concurrent.futures,已经内置了对线程池的支持。所以本篇文章,我们就来详细介绍一下该模块的用法
    2022-07-07
  • Python numpy生成矩阵基础用法实例代码

    Python numpy生成矩阵基础用法实例代码

    矩阵是matrix类型的对象,该类继承自numpy.ndarray,任何针对ndarray的操作,对矩阵对象同样有效,下面这篇文章主要给大家介绍了关于Python numpy生成矩阵基础的相关资料,需要的朋友可以参考下
    2022-08-08
  • python中split方法用法分析

    python中split方法用法分析

    这篇文章主要介绍了python中split方法用法,实例分析了split方法的功能及相关使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • OpenCV灰度化之后图片为绿色的解决

    OpenCV灰度化之后图片为绿色的解决

    这篇文章主要介绍了OpenCV灰度化之后图片为绿色的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python 变量命名规则和定义变量详解

    Python 变量命名规则和定义变量详解

    这篇文章主要为大家介绍了Python 变量命名规则和定义变量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • pandas创建DataFrame的方式小结

    pandas创建DataFrame的方式小结

    今天给大家整理了pandas创建DataFrame的方式小结,现在我们就来看看这三种生成Dataframe的方式,每种方式通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-09-09
  • Python内置random模块生成随机数的方法

    Python内置random模块生成随机数的方法

    这篇文章主要介绍了Python内置random模块生成随机数的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • python中for in的用法详解

    python中for in的用法详解

    这篇文章主要介绍了python中for in的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04

最新评论