pandas的DataFrame如何定义?定义DataFrame的两种方式
发布于 作者:苏南大叔 来源:程序如此灵动~
继续说说科学计算类库pandas
的使用方式,大家都已经知道:pandas
的数据构成是:dataframe
和series
。对比excel
的话,dataframe
就像是一张表,series
就像是一列数据。那么,一个dataframe
是如何定义的呢?这就是本文中要讨论的问题。
大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码之间的故事。本文描述pandas
的dataframe
的定义方式。测试环境:python@3.6.8
,pandas@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"]
})
定义方式二(以每行数据为主要视角)
这种定义方式,使人们更聚焦于每行数据,而不是每列数据。
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
的使用方式,请参考:


