Pandas系列教程(四)

Pandas系列教程(四)


  对于想要入门数据科学的朋友们来说,Python是一个很好的选择,除了因为简单的语法外,Python 生态中提供了很多在数值计算方面非常优秀的库,其中Pandas不可不提,Pandas是很强大是数据集处理工具,往往和numpy, matplotlib 等库搭配使用,我也是刚刚开始学习Pandas, 顺便翻译了一下官方的Pandas教程, 这里使用的是jupyter notebook, 因为博客不支持html直接编辑,所以只能转化为markdown 格式,如果想直接查看html版本可点击每一节下的链接。本文仅供学习和交流使用,欢迎大家交流和指正!


摘要

  • 回归基本运算
  • 创建简单数据集,增加列,删除列,改变列名等
  • 定位获取记录,一行一列,多行一列与多行多列,df.loc[],df.iloc[], df.head(n),df.tail(n)的使用等等

HTML版本点击此处

# 导入需要的库

import pandas as pd
import sys

print('Python version',sys.version)
print('Pandas version',pd.__version__)
Python version 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0]
Pandas version 0.23.0
# 我们的数据集,一个维度
d = [0,1,2,3,4,5,6,7,8,9]

# 生成数据帧
df = pd.DataFrame(data=d)
df
0
00
11
22
33
44
55
66
77
88
99
# 改变列名(关键字)
df.columns = ['Rev']
df
Rev
00
11
22
33
44
55
66
77
88
99
# 增加列
df['NewCol'] = 5
df
RevNewCol
005
115
225
335
445
555
665
775
885
995
# 修改新的列
# df['NewCol'] = df['NewCol'] + 1
df.NewCol = df.NewCol + 1
df
RevNewCol
006
116
226
336
446
556
666
776
886
996
# 删除列
del df['NewCol']
df
Rev
00
11
22
33
44
55
66
77
88
99
# 增加多列
df['test'] = 3
df['col'] = df['Rev']
df
Revtestcol
0030
1131
2232
3333
4434
5535
6636
7737
8838
9939
# 改变索引的值
i = ['a','b','c','d','e','f','g','h','i','j']
df.index = i

df
Revtestcol
a030
b131
c232
d333
e434
f535
g636
h737
i838
j939
# 通过df.loc()选择数据帧的某一条记录
df.loc['a']
Rev     0
test    3
col     0
Name: a, dtype: int64
# 选择片(slices) 注意a与d两端都是包括的
# 传入的也可以是整数
df.loc['a':'d']
Revtestcol
a030
b131
c232
d333
# df.iloc(low,high)函数,左边包括,右边不包括,其中low与high需要是整数

df.iloc[0:3]
Revtestcol
a030
b131
c232
# 选择一列
df['Rev']
a    0
b    1
c    2
d    3
e    4
f    5
g    6
h    7
i    8
j    9
Name: Rev, dtype: int64
# 选择多列
df[['Rev','test']]
Revtest
a03
b13
c23
d33
e43
f53
g63
h73
i83
j93
# 指定行加指定列
# 用df.ix[0:3,'Rev']也可以实现,但将被deprecated
df.loc[df.index[0:3],'Rev']
a    0
b    1
c    2
Name: Rev, dtype: int64
#df.ix[5:,'col']
df.loc[df.index[5:],'col']
f    5
g    6
h    7
i    8
j    9
Name: col, dtype: int64
# 选择多行多列
df.loc[df.index[0:3],['col','test']]
coltest
a03
b13
c23
# 选择上面的n行,缺省值为5
df.head()
Revtestcol
a030
b131
c232
d333
e434
# 选择最后的若干输出,缺省为5
df.tail()
Revtestcol
f535
g636
h737
i838
j939
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值