我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

继续说说科学计算类库pandas的使用方式,大家都已经知道:pandas的数据构成是:dataframeseries。对比excel的话,dataframe就像是一张表,series就像是一列数据。那么,一个dataframe是如何定义的呢?这就是本文中要讨论的问题。

苏南大叔:pandas的DataFrame如何定义?定义DataFrame的两种方式 - pandas-dataframe
pandas的DataFrame如何定义?定义DataFrame的两种方式(图3-1)

大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码之间的故事。本文描述pandasdataframe的定义方式。测试环境:python@3.6.8pandas@1.1.5

定义方式一(以每列数据为主要视角)

这种定义方式,把每列的名称写在了数据前面,比较直观。

import pandas as pd
from pandas import Series, DataFrame
data = DataFrame({
    'name':[
        '虎子',
        '老许',
        '二赖子',
        '老白',
        '小黑',
    ],
    'age':[5,3,6,8,10],
    'class':["dog","bird","fish","catty","puppy"]
})

苏南大叔:pandas的DataFrame如何定义?定义DataFrame的两种方式 - dataframe-define
pandas的DataFrame如何定义?定义DataFrame的两种方式(图3-2)

定义方式二(以每行数据为主要视角)

这种定义方式,使人们更聚焦于每行数据,而不是每列数据。

df = DataFrame([
        ('虎子', 5, "dog"),
        ('老许', 3, "bird"),
        ('二赖子', 6, "fish"),
        ('老白', 8, "catty"),
        ('小黑', 10, "puppy"),
    ],
    columns=('name', 'age', 'class')
)

实际上也可以定义index索引名字,而不是默认的0,1,2...等。

df = DataFrame([
        ('虎子', 5, "dog"),
        ('老许', 3, "bird"),
        ('二赖子', 6, "fish"),
        ('老白', 8, "catty"),
        ('小黑', 10, "puppy"),
    ],
    index=["a1", "a2", "a3", "a4", "a5"],
    columns=('name', 'age', 'class')
)

苏南大叔:pandas的DataFrame如何定义?定义DataFrame的两种方式 - dataframe-index
pandas的DataFrame如何定义?定义DataFrame的两种方式(图3-3)

参考文献

总结

这两种方式,定义出来的数据是一样的结果。但是就代码关注点上来说,两者并不一致,个人更加喜欢第二种定义方式,认为其更加直观一些。

更多pandas的使用方式,请参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    pandas