PythonPandas创建Dataframe数据框的六种方法汇总

目录
  • 一、字典类
    • 方法1:列表、数组或元组构成的字典构造Dataframe
    • 方法2:Series构成的字典构造Dataframe
  • 二、列表类
    • 方法1:二维数组构造Dataframe
    • 方法2:字典列表构造Dataframe
    • 方法3:Series列表构造Dataframe
  • 三、小结

    创建Dataframe主要是使用pandas中的DataFrame函数,其核心就是第一个参数:data,传入原始数据,因此我们可以据此给出六种创建Dataframe的方法:(示例代码环境:jupyter:python3.8)

    一、字典类

    方法1:列表、数组或元组构成的字典构造Dataframe

    直接上代码:

    import pandas as pd
    import numpy as np
    dic = {"a": [1, 2, 3, 4], #列表
           "b": np.array([4, 5, 6, 7]), #数组
           "c": (1, 2, 3, 4)} #元组
    data = pd.DataFrame(dic) # 创建Dataframe
    data

    运行结果:

    可以看到,一个新的数据框已经创建成功了。系统默认为我们生成了行索引,而列索引就是字典dic里的key,我们也可以在创建Dataframe时手动指定行索引,只需修改参数index

    import pandas as pd
    import numpy as np
    dic = {
        "a": [1, 2, 3, 4],  # 列表
        "b": np.array([4, 5, 6, 7]),  # 数组
        "c": (1, 2, 3, 4),
    }  # 元组
    data = pd.DataFrame(dic, index=["一", "二", "三", "四"])  # 创建Dataframe
    data

    运行结果:

    那么如果事后我们后悔了,觉得我们起的列索引的名字不好听,怎么修改呢?只需修改Dataframecolumns属性:

    data.columns = ["A", "B", "C"]
    data

    结果如下:

    读者也可以尝试修改Dataframeindex属性。

    方法2:Series构成的字典构造Dataframe

    import pandas as pd
    import numpy as np
    dic = {"a": pd.Series([1, 2, 3, 4]), 
           "b": pd.Series([4, 5, 6, 7])}
    data = pd.DataFrame(dic)  # 创建Dataframe
    data

    运行结果:

    方法3:字典构成的字典构造Dateframe

    import pandas as pd
    import numpy as np
    dic = {"a": {"一": 1, "二": 2}, 
           "b": {"一": 10, "二": 20}, 
           "c": {"一": 100, "二": 200}}
    data = pd.DataFrame(dic)  # 创建Dataframe
    data

    运行结果:

    其中:外层的a,b,c这三个key作为了列索引,内层的一,二作为了行索引。读者可以尝试为字典dic再添加一个元素:"d":{"一": 100},看看创建出来的Dataframe长什么样,这个结果会给你什么启示?

    二、列表类

    方法1:二维数组构造Dataframe

    import pandas as pd
    import numpy as np
    ls = np.arange(12).reshape(3, 4)  # 创建二维数组
    data = pd.DataFrame(ls)
    data

    运行结果:

    方法2:字典列表构造Dataframe

    import pandas as pd
    import numpy as np
    ls = [{"一": 1, "二": 2}, 
          {"一": 10, "二": 20}, 
          {"一": 100, "二": 200}]
    data = pd.DataFrame(ls)
    data

    运行结果:

    可以看到,列表中的字典的key作为了列索引,这个就很像关系型数据库里的字段和值。读者要注意和字典类中方法3的区别。

    方法3:Series列表构造Dataframe

    import pandas as pd
    import numpy as np
    ls = [pd.Series([1, 2, 3, 4]),
          pd.Series([4, 5, 6, 7])]
    data = pd.DataFrame(ls)
    data

    运行结果:

    三、小结

    笔者为读者提供了六种方法创建Dataframe,这里总结一下:

    1.细心的读者可能会发现:

    在字典类中,字典最外层的key都作为了列索引,而则作为某一行的值;

    在列表类中,列表的每一个元素都作为了某一行的值。

    2.读者需要在实际数据处理时,根据处理数据的特点选择合适的方式创建Dataframe

    到此这篇关于Python Pandas创建Dataframe数据框的六种方法的文章就介绍到这了,更多相关Python Pandas创建Dataframe数据框内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Python中pandas模块DataFrame创建方法示例
    • python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
    • python pandas创建多层索引MultiIndex的6种方式
    • python geopandas读取、创建shapefile文件的方法
    • python-pandas创建Series数据类型的操作
    • python pandas库的安装和创建

    Published by

    风君子

    独自遨游何稽首 揭天掀地慰生平

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注