Python数据分析——Pandas

一、Series
一组数据及与之相关的数据索引组成
(1)创建
列表创建

b = pd.Series([9, 8, 7, 6], index=['a', 'b', 'c', 'd'])

标量值创建

b = pd.Series(25, index=['a', 'b', 'c', 'd'])

字典类型

b = pd.Series({'a':9,'b':8,'c':7})

ndarray类型

m = pd.Series(np.arange(5),index=np.arange(9,4,-1))

(2)基本操作
这里写图片描述

(3)对齐操作
这里写图片描述

(4)name属性
这里写图片描述
二、DataFrame
共用相同索引的一组列组成
常用于表达二维数据,但可以表达多维数据
(1)创建
二维ndarray对象创建
这里写图片描述
一维ndarray对象字典创建
这里写图片描述
列表类型创建
这里写图片描述

(2)数据类型操作
重新索引

import numpy as np
import pandas as pd

d1 = {'city':['Beijing', 'Shanghai', 'Guanzhou', 'Shenzhen', 'Shenyang'],
      'MoM':[101.5, 101.2, 101.3, 102.6, 100.1],
      'YoY':[120.7, 127.3, 119.4, 140.9, 101.4],
      'base':[121.4, 127.8, 120.6, 145.5, 101.6]}

d = pd.DataFrame(d1, index=['c1', 'c2', 'c3', 'c4', 'c5'])

d = d.reindex(columns=['city', 'MoM', 'YoY', 'base'])
print d
print d.index
        city    MoM    YoY   base
c1   Beijing  101.5  120.7  121.4
c2  Shanghai  101.2  127.3  127.8
c3  Guanzhou  101.3  119.4  120.6
c4  Shenzhen  102.6  140.9  145.5
c5  Shenyang  100.1  101.4  101.6

Index类型
Index([u'c1', u'c2', u'c3', u'c4', u'c5'], dtype='object')
reindex(index=None, columns=None,...)的参数

index, columns:新的行列自定义索引
fill_value:填充缺失位置的值
method:ffill向前填充,bfill 向后填充
limit:最大填充量

new = d.columns.insert(4, 'new')
newd = d.reindex(columns=new, fill_value=200)
print newd
        city    MoM    YoY   base  new
c1   Beijing  101.5  120.7  121.4  200
c2  Shanghai  101.2  127.3  127.8  200
c3  Guanzhou  101.3  119.4  120.6  200
c4  Shenzhen  102.6  140.9  145.5  200
c5  Shenyang  100.1  101.4  101.6  200

删除

d = d.drop('c5')
print d
d = d.drop('YoY',axis=1)
print d
        city    MoM    YoY   base
c1   Beijing  101.5  120.7  121.4
c2  Shanghai  101.2  127.3  127.8
c3  Guanzhou  101.3  119.4  120.6
c4  Shenzhen  102.6  140.9  145.5
        city    MoM   base
c1   Beijing  101.5  121.4
c2  Shanghai  101.2  127.8
c3  Guanzhou  101.3  120.6
c4  Shenzhen  102.6  145.5

(3)算术运算

a = pd.DataFrame(np.arange(12).reshape(3,4))
print a
   0  1   2   3
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11

b = pd.DataFrame(np.arange(20).reshape(4,5))
print b
    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19

print a + b
      0     1     2     3   4
0   0.0   2.0   4.0   6.0 NaN
1   9.0  11.0  13.0  15.0 NaN
2  18.0  20.0  22.0  24.0 NaN
3   NaN   NaN   NaN   NaN NaN

print a * b
      0     1      2      3   4
0   0.0   1.0    4.0    9.0 NaN
1  20.0  30.0   42.0   56.0 NaN
2  80.0  99.0  120.0  143.0 NaN
3   NaN   NaN    NaN    NaN NaN

方法形式的运算
add、sub、mul、div

print b.add(a, fill_value = 100)
       0      1      2      3      4
0    0.0    2.0    4.0    6.0  104.0
1    9.0   11.0   13.0   15.0  109.0
2   18.0   20.0   22.0   24.0  114.0
3  115.0  116.0  117.0  118.0  119.0

print a.mul(b, fill_value = 0)
      0     1      2      3    4
0   0.0   1.0    4.0    9.0  0.0
1  20.0  30.0   42.0   56.0  0.0
2  80.0  99.0  120.0  143.0  0.0
3   0.0   0.0    0.0    0.0  0.0
c = pd.Series(np.arange(4))
print c - 10
0   -10
1    -9
2    -8
3    -7

print b - c
      0     1     2     3   4
0   0.0   0.0   0.0   0.0 NaN
1   5.0   5.0   5.0   5.0 NaN
2  10.0  10.0  10.0  10.0 NaN
3  15.0  15.0  15.0  15.0 NaN

print b.sub(c, axis=0)
    0   1   2   3   4
0   0   1   2   3   4
1   4   5   6   7   8
2   8   9  10  11  12
3  12  13  14  15  16

(4)比较运算

e = pd.DataFrame(np.arange(12, 0, -1).reshape(3,4))
print e
    0   1   2  3
0  12  11  10  9
1   8   7   6  5
2   4   3   2  1

print a > e
       0      1      2      3
0  False  False  False  False
1  False  False  False   True
2   True   True   True   True

print a == e

`       0      1      2      3
0  False  False  False  False
1  False  False   True  False
2  False  False  False  False
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pandas是一个Python库,用于数据处理和分析。在数据分析中,预处理是非常重要的一步,因为它可以帮助我们清洗和转换数据,使其更适合进行分析。Pandas提供了一些强大的预处理功能,包括数据清洗、数据转换、数据重塑和数据合并等。在使用Pandas进行数据分析时,预处理是必不可少的一步。 ### 回答2: 在数据分析中,数据的预处理是一个必要的过程。它的主要目的是清洗数据,准备数据,以便后续分析。在Python中,pandas是一种广泛使用的数据处理库。pandas可以通过其高效的数据结构和操作方法来清洗和处理数据。在本文中,将介绍pandas预处理的一些常见技术。 一、读取数据 在pandas中,使用read_csv()函数读取CSV格式的数据文件,read_excel()函数读取Excel格式的数据文件。它们都有很多选项,可以根据具体文件的格式进行设置。 二、查看数据 在pandas中,使用以下函数来查看数据: 1. head() - 显示数据框的前几行; 2. tail() - 显示数据框的后几行; 3. columns - 显示数据框的列名; 4. shape - 显示数据框的行列数; 5. info() - 显示数据框的基本信息,包括每列的名称、非空值数量和数据类型。 三、数据清洗 在数据清洗中,有以下一些常见的技术: 1. 删除重复行:使用drop_duplicates()函数; 2. 替换空值:使用fillna()函数; 3. 删除空值:使用dropna()函数; 4. 更改数据类型:使用astype()函数。 四、数据准备 在数据准备中,有以下一些常见的技术: 1. 数据合并:使用merge()函数; 2. 数据筛选:使用loc()函数或者iloc()函数; 3. 数据分组:使用groupby()函数; 4. 数据排序:使用sort_values()函数。 五、数据分析数据分析中,有以下一些常见的技术: 1. 数据聚合:使用agg()函数; 2. 统计描述:使用describe()函数; 3. 数据可视化:使用matplotlib或者seaborn库。 综上所述,pandas预处理是数据分析中必不可少的一步。通过使用pandas提供的函数和方法,可以方便地清理和处理数据,使其更容易被分析。 ### 回答3: PandasPython中最强大的数据处理库之一,它提供了DataFrame和Series这两种数据结构,可以快速便捷地处理数据。在数据分析过程中,我们往往需要先对数据进行预处理,以便后续的分析。Pandas提供了一系列的方法和函数,可以帮助我们进行数据的预处理。 首先,在进行数据分析之前,我们需要了解自己所面对的数据类型和数据结构。Pandas中的DataFrame结构就是类似于表格的结构,每一行代表一个样本,每一列代表一个属性。Series则是一维的数组结构。通过pandas.read_csv(),我们可以读取CSV格式的数据,并转化为DataFrame结构。 接下来,我们要对数据进行一些基本的处理,例如数据清洗、数据去重、缺失值处理、异常值处理等。在数据清洗过程中,我们往往需要对数据进行一些特殊的处理,例如字符串的分割、合并、替换等操作,Pandas提供了一系列能够对文本进行操作的函数。在数据去重方面,我们可以使用drop_duplicates()函数,它可以去除DataFrame中的重复记录。在处理缺失值时,Pandas提供了一系列的函数,如fillna()函数、dropna()函数,可以方便地将NaN值变为其他有意义的值,或者删除缺失值的行或列。在异常值处理方面,我们可以使用isoutlier()函数来找到数据中的异常值,并进行处理。 在数据预处理完成后,我们可以对数据进行一些统计分析,例如计算小计、计算总计、分位数、极差、方差、标准差等统计指标。我们可以使用describe()函数来获得数据的统计描述,还可以使用groupby()函数来对数据分组,使用agg()函数对每组进行计算统计指标。此外,我们还可以对数据进行排序、丢弃、合并等操作。 总之,Pandas是一个非常强大的Python库,可以轻松处理数据预处理和数据处理方面的任务。Pandas作为数据分析和数据处理的基础库,使用熟练后可以在数据分析中发挥更大的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值