前言
其实,学习Python很好的方法是去看官方文档。
有人会说,我零基础,看不懂啊!
也有人会说,我英语差,看不懂啊!!
还有人会说,我想学实战案例,不想看的这么详细!!!
是的,官方文档说的面面俱到,像是查字典似的,对于初学者是很不友善的
所以大部分人选择了:拒绝!
其实,我以前也是不看官方文档的,但有些问题百度不到,看的书里没讲到,那我就被迫去看官方文档了
此举给我打开了学习Python的一扇窗
我发现,官方文档其实有很多例子和入门学习内容,比如我们今天要说的
十分钟入门Pandas
很多人讨厌看官方文档,今天我就用中文简单解读一下,争取让大家看懂,能入门Pandas
官方文档说想要详细了解Pandas的更多用法可以看它的cookbook:http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook
导入模块
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
这分别导入了pandas、numpy包 和 matplotlib 包中的 pyplot 模块
创建对象
请参见“数据结构简介”部分:http://pandas.pydata.org/pandas-docs/version/0.20/dsintro.html#dsintro
通过一个列表的值创建一个系列,让pandas创建一个默认的整数索引:
?np.random.randn()
np.random.randn(6,4)是生成6行4列的标准正态分布数据
注:这里使用ABCD为列标签,之前生成的日期序列为行标签,6行4列标准正态分布数据为内容的dataframe
使用字典来创建dataframe
<pre class="has">
df2 = pd.DataFrame({ 'A' : 1.,
'B' : pd.Timestamp('20130102'),
'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
'D' : np.array([3] * 4,dtype='int32'),
'E' : pd.Categorical(["test","train","test","train"]),
'F' : 'foo' })
df2
查看dataframe的类型信息
<pre class="has">
df2.dtypes
查看数据
更多内容请参阅基础部分:http://pandas.pydata.org/pandas-docs/version/0.20/basics.html#basics
查看dataframe顶部和底部的行(默认五行)
<pre class="has">
df.head()#查看默认前五行
<pre class="has">
df.tail()#查看默认后五行
<pre class="has">
df.head(3)#查看前三行
显示索引,列和底层numpy数据
显示索引:
df.index
显示列名:
<pre class="has">
df.columns
查看底层numpy数据:
<pre class="has">
df.values
对数据的描述性统计信息
df.describe()
注意:数据需要是数字类型(float,int等)
转置调换数据
df.T
注意:就像线性代数里面的转置矩阵
按轴排序
<pre class="has">
df.sort_index(axis=1,ascending=False)
可能你还看不太明白这是什么方法
我们help一下
这说明axis可以取0或者1,我们试试看0:
<pre class="has">
df.sort_index(axis=0,ascending=False)
可以看出两者的区别
深入挖掘其中的参数作用还得你自己慢慢看呢
按值排序
<pre class="has">
df.sort_values(by='B')
这是B列数据排序,并且其他数据参照B列数据变化。
选择数据
更多内容请参阅索引文档索引:http://pandas.pydata.org/pandas-docs/version/0.20/indexing.html#indexing
和选择数据和多指标/高级索引:http://pandas.pydata.org/pandas-docs/version/0.20/advanced.html#advanced
选择一个列,返回一个Series,相当于df.A
<pre class="has">
df['A'] #取A列数据,返回的是一个序列
选择通过[],切片出行数据
<pre class="has">
df[0:3] #使用默认索引取出前三行
<pre class="has">
df['20130102':'20130104'] #使用新索引取出对应行
960410445源码 群
希望这篇文章能带你进入pandas的世界,需要源码可以找我获取哦!