Pandas入门数据分析01-什么是Pandas

2024-05-14

1. Pandas入门数据分析01-什么是Pandas


Pandas入门数据分析01-什么是Pandas

2. 怎么利用pandas做数据分析

Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作。
1. 基本使用:创建DataFrame. DataFrame是一张二维的表,大家可以把它想象成一张Excel表单或者Sql表。Excel 2007及其以后的版本的最大行数是1048576,最大列数是16384,超过这个规模的数据Excel就会弹出个框框“此文本包含多行文本,无法放置在一个工作表中”。Pandas处理上千万的数据是易如反掌的sh事情,同时随后我们也将看到它比SQL有更强的表达能力,可以做很多复杂的操作,要写的code也更少。
说了一大堆它的好处,要实际感触还得动手码代码。首要的任务就是创建一个DataFrame,它有几种创建方式:
(1)列表,序列(pandas.Series), numpy.ndarray的字典
二维numpy.ndarray
别的DataFrame
结构化的记录(structured arrays)
(2)其中,二维ndarray创建DataFrame,代码敲得最少:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10, 4))
df
 0 1 2 3
0 0.927474 0.127571 1.655908 0.570818
1 -0.425084 -0.382933 0.468073 -0.862898
2 -1.602712 -0.225793 -0.688641 1.167477
3 -1.771992 -0.692575 -0.693494 -1.063697
4 -0.456724 0.371165 1.883742 -0.344189
5 1.024734 0.647224 1.134449 0.266797
6 1.247507 0.114464 2.271932 -0.682767
7 -0.190627 -0.096997 -0.204778 -0.440155
8 -0.471289 -1.025644 -0.741181 -1.707240
9 -0.172242 0.702187 -1.138795 -0.112005
(3)通过describe方法,可以对df中的数据有个大概的了解:
df.describe()
  0 1 2 3
count 10.000000 10.000000 10.000000 10.000000
mean -0.189096 -0.046133 0.394722 -0.320786
std 1.027134 0.557420 1.258019 0.837497
min -1.771992 -1.025644 -1.138795 -1.707240
25% -0.467648 -0.343648 -0.692281 -0.817865
50% -0.307856 0.008734 0.131648 -0.392172
75% 0.652545 0.310266 1.525543 0.172096
max 1.247507 0.702187 2.271932 1.167477
2. 改变cell。
3. group by。
4. 读写文件。

3. 怎么利用pandas做数据分析

Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作。
1. 基本使用:创建DataFrame. DataFrame是一张二维的表,大家可以把它想象成一张Excel表单或者Sql表。Excel 2007及其以后的版本的最大行数是1048576,最大列数是16384,超过这个规模的数据Excel就会弹出个框框“此文本包含多行文本,无法放置在一个工作表中”。Pandas处理上千万的数据是易如反掌的sh事情,同时随后我们也将看到它比SQL有更强的表达能力,可以做很多复杂的操作,要写的code也更少。
说了一大堆它的好处,要实际感触还得动手码代码。首要的任务就是创建一个DataFrame,它有几种创建方式:
(1)列表,序列(pandas.Series), numpy.ndarray的字典
二维numpy.ndarray
别的DataFrame
结构化的记录(structured arrays)
(2)其中,二维ndarray创建DataFrame,代码敲得最少:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10, 4))
df
 0 1 2 3
0 0.927474 0.127571 1.655908 0.570818
1 -0.425084 -0.382933 0.468073 -0.862898
2 -1.602712 -0.225793 -0.688641 1.167477
3 -1.771992 -0.692575 -0.693494 -1.063697
4 -0.456724 0.371165 1.883742 -0.344189
5 1.024734 0.647224 1.134449 0.266797
6 1.247507 0.114464 2.271932 -0.682767
7 -0.190627 -0.096997 -0.204778 -0.440155
8 -0.471289 -1.025644 -0.741181 -1.707240
9 -0.172242 0.702187 -1.138795 -0.112005
(3)通过describe方法,可以对df中的数据有个大概的了解:
df.describe()
  0 1 2 3
count 10.000000 10.000000 10.000000 10.000000
mean -0.189096 -0.046133 0.394722 -0.320786
std 1.027134 0.557420 1.258019 0.837497
min -1.771992 -1.025644 -1.138795 -1.707240
25% -0.467648 -0.343648 -0.692281 -0.817865
50% -0.307856 0.008734 0.131648 -0.392172
75% 0.652545 0.310266 1.525543 0.172096
max 1.247507 0.702187 2.271932 1.167477
2. 改变cell。
3. group by。
4. 读写文件。

怎么利用pandas做数据分析

4. pandas的统计计算函数是什么

pandas的统计计算函数如下:

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。  Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。 

5. pandas 的四种常用函数

  obj  : 参与合并的对象,如:[df1, df2]    axis  : 合并方向    join  : 合并方式,outer 为外链接,取交集    join_axes  : 设置需要显示的列名    ignore_index : 是否忽略原来DataFrame/Series 对象的索引,重新排列    keys : 为数据源设置多级索引标签    levels  :如果设置keys的话, 指定用作层次化索引各级别(内层索引)上的索引    names :用于创建分层级别的名称,如果设置keys或levels的话    verify_integrity : 检查是否出现重复索引,引发异常
    left :参与合并的左侧DataFrame    right :参与合并的右侧DataFrame    how :连接方式:‘inner’(默认,交集);还有,‘outer’、‘left’、‘right’    on :用于连接的列名,必须同时存在于左右两个DataFrame对象中,如果位指定,则以left和right列名的交集作为连接键    left_on :左侧DataFarme中用作连接键的列    right_on :右侧DataFarme中用作连接键的列    left_index :将左侧的行索引用作其连接键    right_index :    将右侧的行索引用作其连接键    sort :根据连接键对合并后的数据进行排序,默认为True。有时在处理大数据集时, 禁用该选项 可获得更好的性能    suffixes :字符串值元组,用于追加到重叠列名的末尾,默认为(‘_x’,‘_y’).例如,左右两个DataFrame对象都有‘data’,则结果中就会出现‘data_x’,‘data_y’    copy :设置为False,可以在某些特殊情况下避免将数据复制到结果数据结构中。默认总是赋值
   用法入门比较简单, 前人的博客写的蛮详尽了    Pandas详解十五之利用GroupBy技术进行分组 
   补充几点:
                                                                                                                            data : 用于制作数据透视表的 DataFrame的某列数据,输入列名即可    index : 行分组标签    columns :  列分组标签    aggfunc : 汇总计算方法,默认为(mean) 可以用字典为不同的列指定不同的累计函数,此时data可以缺失    fill_value :填充缺失值    dropna : 剔除缺失值    margins : 是否对边际进行aggfunc汇总    margins_name : 边际行/列的名称

pandas 的四种常用函数

6. 深入浅出Pandas--Pandas的数据结构

Pandas提供Series和DataFrame作为数组数据的存储框架,数据进入这两种框架后,我们就可以利用它们提供的强大处理方法进行处理。
                                          
 需要注意的是,Pandas之前支持的三维面板(Panel)结构现已不再支持,可以使用多层索引形式来实现。
  
 Series(系列、数列、序列)是一个带有标签的一维数组,这一系列连续的数据代表了一定的业务意义。如以下各国2019年的GDP就是一个典型的Series。
                                          
 其中,国家是标签(也称索引),不是具体的数据,它起到解释、定位数据的作用。如果没有标签,只有一个数字,是不具有业务意义的。Series是Pandas最基础的数据结构。
  
 DataFrame意为数据框,它就像一个存放数据的架子,有多行多列,每个数据在一个格子里,每个格子有自己的编号。就像一个球场的座位(下图),我们在横向编成1排、2排、3排等,在纵向编成1号、2号、3号等,那么4排18号、6排1号等就是具体的位置,每个人落座后就像一个具体的数据。
                                          
 DataFrame是Pandas定义的一个二维数据结构,其结构如下图
                                          
 我们给上例国家GDP Series数据中增加一列“人口”,形成一个DataFrame
                                          
 在后续的内容中,在不同场景下可能会对索引使用以下名称。
  
 end~

7. 这 20 个Pandas 函数, 你可能没试过

 Pandas 是 pytho 里主流的数据分析库。Pandas 之所以如此普遍,是因为集功能性、灵活性于一体。为了简化数据分析过程, Pandas 其实内置了许多功能和方法.
   本文举例说明 20 个 Pandas 好用的功能和方法。希望这些方法对精进中的你有帮助.
   df.query(expr,inplace = False,** kwargs) # 使用布尔表达式查询帧的列
   参数:    expr :str要评估的查询字符串, 不同条件之间用布尔运算符连接, 整体外包引号    inplace=False :是否修改数据或返回副本    kwargs :dict关键字参数
   返回:DataFrame
   根据条件筛选数据是数据分析过程中的常见操作, Pandas 也提供了很多过滤方法, 比如 条件[ ], 比如loc/iloc. 相比之下, query() 做为查询函数, 语句更贴近自然语言, 多条件筛选更加易读
                                                                                   DataFrame.insert( loc ,   column ,   value ,  allow_duplicates=False ) [官方文档] 
   参数:    loc : 插入列位置, 索引从 0 开始    column : 插入的列的列名    value : 插入的列的 values    allow_duplicates=False : 是否允许存在重复列, 默认不允许
   当我们想要在 DataFrame 中添加一个新列时,默认情况下它会被添加到数据帧的末尾。其实Pandas 提供了可以在任何位置插入新列的函数  inser()
   如上面参数描述, 前三个参数是必需的: 插入列的位置, 插入列的列名, 插入列的值, value 应该是个 Series 或者类似 array 的对象
                                           DataFrame 包含 A, B, C 3 个不同组。我们可能只对年值感兴趣,但在某些情况下,我们还需要一个累积值。Pandas 提供了一个易于使用的函数来计算累计和,即 cumsum()
                                                                                   sample 方法用于从 Series 或 DataFrame 中随机抽样。当我们想要从分布中选择一个随机样本时,这个函数非常有用
                                                                                   “Where”用于根据条件替换行或列中的值。默认替换值为NaN,但我们也可以指定作为替换的值。
                                           “where”的工作方式是选择符合条件的值,并用指定值替换其余值。其中(df['new_col']<0,0)选择“new_col”中小于0的所有值,其余值替换为0。因此,where也可以被视为'遮罩运算'。
   where 在 numpy 中语法略有不同, numpy 中还需要指定符合条件时替换的值, 如下两个语句有几乎一样的结果:
   区别是 a 是一个 Series, b 是一个一维数组, pandas 的 where 可以通过指定 inplace=True 来改写原 DataFrame
   在处理 DataFrame 时,isin 是我们经常使用的筛选方法。但 Isin 还有一种高级用法: 根据给定列表筛选值。
                                           注意给定的列表里的数据类型要和过滤列里的数据类型一致
    loc  和  iloc  用来选择行列.
   loc用于按标签选择数据。列的标签是列名。行参数的提供方式有两种:
                                                                                   注意 loc 的行参数包含上边界, 而 iloc 里的这种写法不包含上边界
                                           此函数用于计算系列值的百分比变化。考虑我们有一个包含 [2,3,6] 的 Series。如果我们将pct_change 应用于此 Series,则返回的系列将为 [NaN,0.5,1.0]。从第一个元素到第二个元素增加了 50%,从第二个元素到第三个元素增加了 100%。pct_change函数用于比较元素时间序列中的变化百分比。
                                           rank 函数为值排序。假设我们有一个包含[1,7,5,3]的序列。分配给这些值的排序值为[1,4,3,2]
                                           Melt 用于将 二维表 变为 一维表 , 即逆透视. 样例表如下:
                                                                                                                           可以用透视表还原
                                           explode '爆裂'函数(hivesql 里也有)), 等同于拆分+按列展开. 样例表如下:
                                                                                   Nunique统计列或行上的唯一条目数。它在分类特征中非常有用,尤其是在我们事先不知道类别数量的情况下。
   我们可以直接将 nunique 函数作用于整个表以查看每列中唯一值的数量:
                                           可用于根据其他行、列对上的值查找表中的值。这个函数最好通过一个例子来解释。假设我们有以下表:
                                           这种方法可以用于用于从另一个表中目标表中匹配列, 类似于:
   Pandas 支持多种数据类型,其中一种是 object。对象包含文本或混合(数字和非数字)值。但是,如果有其他选项可用,则不建议使用对象数据类型。使用更具体的数据类型可以更快地执行某些操作。例如,对于数值,我们更喜欢使用整数或浮点数据类型。   infer_objects 尝试为对象列推断更好的数据类型。   尝试对象数据类型列的软转换,使非对象列和不可转换列保持不变。推理规则与正常序列/数据帧构造期间的推理规则相同。。示例表:
                                                                                   可以看到所有列都是 object, 我们尝试一下 infer_objects:
                                           memory_usage 返回每列使用的内存量(字节)。在处理大型数据表时, 有时会需要查看内存用量。考虑下面的100万行数据文件
    (1000000, 2) 
                                            11.4442138671875 
   describe 函数计算数字列的基本统计信息,包括计数、平均值、标准偏差、最小值和最大值、中位数、第一个和第三个四分位数。因此,它提供了整个表的统计摘要
                                           Merge()根据两表中的公共列组合成新表。例表如下:
                                           Select_dtypes 函数根据数据类型设置的条件返回数据表列的子集。它有两个参数:include和exlude, 前者意为包含的数据类型, 后者为排除的数据类型
                                                                                   替换数据表中的值
                                                                                   Applymap函数用于将函数应用于数据帧元素。   请注意,如果操作的矢量化版本可用,则应优先于applymap。例如,如果我们想将每个元素乘以一个数字,我们不需要也不应该使用applymap函数。在这种情况下,简单的矢量化操作(例如df*4)要快得多。
   但是,在某些情况下,我们可能无法选择矢量化操作。例如,我们可以使用dataframes的style属性更改dataframe的样式。以下函数将负值的颜色更改为红色。

这 20 个Pandas 函数, 你可能没试过

8. Pandas基础

  Pandas 是 Python 语言的一个扩展程序库,用于数据分析。    Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。   Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。   Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。   Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。   Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。   Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。
最新文章
热门文章
推荐阅读