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
    评论
Pandas提供了许多高级应用和功能,使得数据分析和处理更加便捷和高效。以下是一些常见的Pandas高级应用: 1. 数据清洗:Pandas提供了一系列的函数和方法来处理缺失值、重复值、异常值等数据清洗任务。例如,使用dropna()函数删除包含缺失值的行或列,使用fillna()函数填充缺失值,使用drop_duplicates()函数删除重复值等。 2. 数据转换:Pandas提供了一系列的函数和方法来对数据进行转换和重塑。例如,使用apply()函数对数据进行自定义函数的应用,使用map()函数对Series数据进行映射转换,使用pivot()函数进行数据透视表操作等。 3. 数据合并:Pandas提供了多种方式来合并数据集。使用concat()函数可以按照指定的轴将多个数据集进行垂直或水平堆叠;使用merge()函数可以基于一个或多个键将多个数据集进行数据库风格的合并操作。 4. 分组和聚合:Pandas提供了强大的分组和聚合功能,使得对数据进行分组统计变得非常简单。使用groupby()函数可以按照指定的列或条件将数据分组,并对每个组应用聚合函数(如sum、mean、count等)进行统计。 5. 时间序列分析:Pandas对于时间序列数据的处理非常强大。它提供了一系列的函数和方法来处理时间序列数据,例如通过resample()函数进行重采样,使用rolling()函数进行滚动计算等。 6. 数据可视化:Pandas可以与Matplotlib等绘图库集成使用,实现数据可视化。使用Pandas提供的plot()函数可以直接对数据进行绘图,例如绘制折线图、柱状图、散点图等。 这些只是Pandas的一部分高级应用,Pandas还有更多功能和方法可以满足各种数据分析和处理需求。详细的使用方法和示例可以参考Pandas官方文档和各种在线教程

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值