上一篇文章带大家一起了解了Pandas库中的数据合并,本文是Python大数据与机器学习系列文章中的第16篇,将带大家一起了解一下Pandas库中的其他数据操作。
Pandas提供了很多针对数据的操作,本文列出一些非常常用的。
在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴
实战练习
在Jupyter Notebook上执行以下代码:
import pandas as pd
df = pd.DataFrame({'col1':[1,2,3,4],'col2':[444,555,666,444],'col3':['abc','def','ghi','xyz']})
df.head()
获取唯一值
df['col2'].unique()
获取非唯一值
df['col2'].nunique()
获取每个值的个数
df['col2'].value_counts()
newdf = df[(df['col1']>2) & (df['col2']==444)]
newdf
应用函数
def times2(x):
return x*2
df['col1'].apply(times2)
df['col2'].apply(lambda x:x*2)
df['col3'].apply(len)
df['col1'].sum()
永久删除一列
del df['col1']
df
df = pd.DataFrame({'col1':[1,2,3,4],'col2':[444,555,666,444],'col3':['abc','def','ghi','xyz']})
df.drop('col1',axis=1,inplace=True)
df
获取列名和索引
df.columns
df.index
排序
df
df.sort_values(by='col2') #inplace=False by default
查找和检测Null值
df.isnull()
df.dropna()
将Null值填充为其它值
import numpy as np
df = pd.DataFrame({'col1':[1,2,3,np.nan],
'col2':[np.nan,555,666,444],
'col3':['abc','def','ghi','xyz']})
df.head()
df.fillna('FILL')
data = {'A':['foo','foo','foo','bar','bar','bar'],
'B':['one','one','two','two','one','one'],
'C':['x','y','x','y','x','y'],
'D':[1,3,2,5,4,1]}
df = pd.DataFrame(data)
df
透视表:df.pivot_table(values='D',index=['A', 'B'],columns=['C'])
进度介绍
本系列文章共分为26个部分目前已经进行到了第6部分,所有内容计划如下:
预热
环境搭建
Jupyter教程
Python速成
Python数据分析,NumPy库的使用
Python数据分析,Pandas库的使用
Python数据分析,Pandas库练习
Python数据可视化,Matplotlib
Python数据可视化,Seaborn
Python数据可视化,Pandas内建数据可视化
Python数据可视化,Plotly和Cufflinks
Python数据可视化,Geographical Plotting
数据 Capstone 项目
机器学习介绍
线性回归
交叉验证与偏方差
逻辑回归算法
k-近邻算法
决策树与随机森林
支持向量机
k-means聚类
主成分分析
推荐系统
自然语言处理(NLP)
Python大数据与Spark
神经网络(NN)与深度学习(DL)