呆鸟的Python数据分析数析机器学习

Pandas快速入门(一)

2019-09-29  本文已影响0人  乔治大叔

一、什么是Pandas ?

Pandas是一个开源的Python的数据分析库,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。

二、为什么要用Pandas ?

Python在数据处理和准备方面一直做得很好,但在数据分析和建模方面就没那么好了。Pandas帮助填补了这一空白,使您能够在Python中执行整个数据分析工作流程
Python与Pandas在广泛的学术和商业领域中使用,包括金融,神经科学,经济学,统计学,广告,网络分析,等等。

三、入门Pandas

1. 通常,我们按如下方式导入 Pandas:

In [1]: import numpy as np
In [2]: import pandas as pd

2. 对象创建

通过传入一些值的列表来创建一个Series,Pandas会自动创建一个默认的整数索引:

s = pd.Series([1,3,5,np.nan,2,4,6])
print(s)
0    1.0
1    3.0
2    5.0
3    NaN
4    2.0
5    4.0
6    6.0
dtype: float64

通过传递带有日期时间索引和带标签列的NumPy数组来创建DataFrame

df = pd.DataFrame(np.random.randn(6, 4), index=pd.date_range('20190901', periods=6), columns=list('ABCD'))
print(df)
                   A         B         C         D
2019-09-01 -1.661250  1.008909  0.192640 -0.146610
2019-09-02 -0.215992 -0.113884  0.365838 -0.253161
2019-09-03 -2.875189 -0.454827 -0.084804  1.436878
2019-09-04 -0.310008 -0.958814  1.371260  2.326361
2019-09-05  0.458977  1.834737  1.086609 -1.714873
2019-09-06  0.995078 -0.458551  1.844880  1.654410
3. 查看数据

DataFrame

                   A         B         C         D
2019-09-01 -1.661250  1.008909  0.192640 -0.146610
2019-09-02 -0.215992 -0.113884  0.365838 -0.253161
2019-09-03 -2.875189 -0.454827 -0.084804  1.436878
2019-09-04 -0.310008 -0.958814  1.371260  2.326361
2019-09-05  0.458977  1.834737  1.086609 -1.714873
2019-09-06  0.995078 -0.458551  1.844880  1.654410

查看DataFrame顶部和尾部的数据:

print(df.head(1)) #查看前面N行
print(df.tail(1)) #查看后面N行
print(df.columns) #查看列索引
print(df.to_numpy()) #只显示数据,不显示行、列索引
                  A         B        C        D
2019-09-01 -1.66125  1.008909  0.19264 -0.14661

                   A         B        C        D
2019-09-06  0.995078 -0.458551  1.84488  1.65441

Index(['A', 'B', 'C', 'D'], dtype='object')

[[-1.66124953  1.00890873  0.19263997 -0.14661048]
 [-0.2159917  -0.11388431  0.36583777 -0.25316099]
 [-2.87518903 -0.45482652 -0.08480368  1.4368784 ]
 [-0.31000762 -0.95881398  1.37126015  2.32636067]
 [ 0.45897748  1.83473729  1.08660874 -1.71487318]
 [ 0.99507797 -0.45855055  1.84488027  1.65440963]]
4. 对象旋转
print(df.T) #行列转制数据
print(df.sort_index(axis=1,ascending=False)) #列转制数据
print(df.sort_index(ascending=False)) #行转制数据
   2019-09-01  2019-09-02  2019-09-03  2019-09-04  2019-09-05  2019-09-06
A   -1.661250   -0.215992   -2.875189   -0.310008    0.458977    0.995078
B    1.008909   -0.113884   -0.454827   -0.958814    1.834737   -0.458551
C    0.192640    0.365838   -0.084804    1.371260    1.086609    1.844880
D   -0.146610   -0.253161    1.436878    2.326361   -1.714873    1.654410
                   D         C         B         A
2019-09-01 -0.146610  0.192640  1.008909 -1.661250
2019-09-02 -0.253161  0.365838 -0.113884 -0.215992
2019-09-03  1.436878 -0.084804 -0.454827 -2.875189
2019-09-04  2.326361  1.371260 -0.958814 -0.310008
2019-09-05 -1.714873  1.086609  1.834737  0.458977
2019-09-06  1.654410  1.844880 -0.458551  0.995078
                   A         B         C         D
2019-09-06  0.995078 -0.458551  1.844880  1.654410
2019-09-05  0.458977  1.834737  1.086609 -1.714873
2019-09-04 -0.310008 -0.958814  1.371260  2.326361
2019-09-03 -2.875189 -0.454827 -0.084804  1.436878
2019-09-02 -0.215992 -0.113884  0.365838 -0.253161
2019-09-01 -1.661250  1.008909  0.192640 -0.146610
5. 对象选择
print(df.sort_values(by='B'))  #选择B列,按B列值从小到大排序
print(df.iloc[:3])     #df[行,列],取前3行
print(df.iloc[:,:3])  #df[行,列],取前3列
print(df.loc['2019-09-04':'2019-09-06'])    #df[行,列],按行索引取值
print(df.loc[:,'A':'C'])    #df[行,列],按列索引取值
                   A         B         C         D
2019-09-04 -0.310008 -0.958814  1.371260  2.326361
2019-09-06  0.995078 -0.458551  1.844880  1.654410
2019-09-03 -2.875189 -0.454827 -0.084804  1.436878
2019-09-02 -0.215992 -0.113884  0.365838 -0.253161
2019-09-01 -1.661250  1.008909  0.192640 -0.146610
2019-09-05  0.458977  1.834737  1.086609 -1.714873

                   A         B         C         D
2019-09-01 -1.661250  1.008909  0.192640 -0.146610
2019-09-02 -0.215992 -0.113884  0.365838 -0.253161
2019-09-03 -2.875189 -0.454827 -0.084804  1.436878

                   A         B         C      
2019-09-04 -0.310008 -0.958814  1.371260  
2019-09-06  0.995078 -0.458551  1.844880  
2019-09-03 -2.875189 -0.454827 -0.084804  
2019-09-02 -0.215992 -0.113884  0.365838 
2019-09-01 -1.661250  1.008909  0.192640
2019-09-05  0.458977  1.834737  1.086609 


                   A         B         C         D
2019-09-04 -0.310008 -0.958814  1.371260  2.326361
2019-09-05  0.458977  1.834737  1.086609 -1.714873
2019-09-06  0.995078 -0.458551  1.844880  1.654410
上一篇下一篇

猜你喜欢

热点阅读