Pandas入门 笔记(二)

Pandas入门 笔记(二)

3.DataFrame 对象

3.1图解DataFrame对象

图 3.1 DataFrame结构
DataFrame对象结构
DataFrame是一个二维表数据结构,即由行列数据组成的表格。DataFrame既有行索引也有列索引,它可以看作是由Series对象组成的字典,不过这些Series对象公用一个索引。

	# 实例:
import pandas as pd
data = [[101,102,103],[104,105,106],[107,108,109]]
row = [0,1,2]
col = ['语文','数学','英语']
df = pd.DataFrame(data = data , index = row , columns = col)
print(df)
# 遍历DataFrame数据的每一列
for cols in df.columns:
	series = df[cols]
	print(series)

	#输出结果:
	
    语文   数学   英语
0  101  102  103
1  104  105  106
2  107  108  109
0    101
1    104
2    107
Name: 语文, dtype: int64
0    102
1    105
2    108
Name: 数学, dtype: int64
0    103
1    106
2    109
Name: 英语, dtype: int64

3.2 创建一个DataFrame对象

创建DataFrame主要使用Pandas模块的DataFrame类,语法如下:

pandas.DataFrame( data , index , columns , dtype , copy  )

参数说明:

  • data:表示数据,可以是ndarray数组、series对象、列表、字典等。
  • index:表示行标签(索引)。
  • columns:列标签(索引)。
  • dtype:每一列数据的数据类型。
  • copy:用于复制数据。
  • 返回值:DataFrame。

表3.2 数据类型对应表

Pandas数据类型Python数据类型
objectstr
int64int
float64float
boolbool
datetime64datetime64[ns]
timedelta[ns]NA
categoryNA
3.2.1 通过列表创建DataFrame对象
import pandas as pd
data = [[101,102,103],[104,105,106],[107,108,109]]
col = ['语文','数学','英语']
df = pd.DataFrame(data = data , columns = col)
print(df)

# 运行结果:
 语文   数学   英语
0  101  102  103
1  104  105  106
2  107  108  109
3.2.2 通过字典创建DataFrame对象

通过字典创建DtaFrame需要注意:
字典中的value值只能是一维数组或者单个简单数据类型。如果是数组,则要求所有数组长度一致;如果是单个数据,则每行都需要添加相同数据。

import pandas as pd
# 解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width',True)
data = [[101,102,103],[104,105,106],[107,108,109]]
col = ['语文','数学','英语']
df = pd.DataFrame({
	'语文':[101,102,103],
	'数学':[104,105,106],
	'英语':[107,108,109],
	'班级':'高一1班'
},index = [0,1,2])
print(df)

# 运行结果:
	语文  数学  英语     班级
0   101   104   107  高一1班
1   102   105   108  高一1班
2   103   106   109  高一1班

值得注意的是,上述的“班级”列的value值是单个数据,所以每一行都添加了相同的数据“高一1班”。

3.3 DataFrame 的重要属性和函数

表3.3 重要属性及描述

属性描述举例
values查看所有元素的值df.values
dtypes查看所有元素的类型df.dtypes
index查看所有行名、重命名行名df.index , df.index=[1,2,3]
columns查看所有列名、重命名列名df.columns ,df.columns[‘生物’,‘化学’,‘物理’]
T行列数据转换df.T
head查看前n条数据,默认5条df.head() , df.head(8)
tail查看后n条数据,默认5条df.tail() , df.tail(8)
shape查看行数和列数,[0]表示行;[1]表示列df.shape[0] , df.shape[1]
info查看索引,数据类型和内存信息df.info

表3.4 重要函数及描述

函数描述举例
describe查看每列的统计汇总信息,DtaFrame类型df.describe()
count返回每一列中的非空值得个数df.count
sum返回每一列的和,无法计算时返回空值df.sum()
max返回每一列的最大值df.max()
min返回每一列的最小值df.min
argmax返回某一列的(Series对象)最大值所在的自动索引位置df[‘销量’].argmax()
argmin返回某一列的(Series对象)最小值所在的自动索引位置df[‘销量’].argmin()
idxmax返回最大值所在的自定义索引位置df.idxmax()
idxmin返回最小值所在的自定义索引位置df.idxmin()
mean返回每一列的平均值df.mean()
median返回每一列的中位数df.median()
var返回每一列的方差df.var()
std返回每一列的标准差df.std()
isnull检查df中的空值,空值为True;否则为False,返回布尔数组类型df.isnull()
notnull检查df中的空值,非空值为True;否则为False,返回布尔数组类型df.notnull()

未完待续。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值