Pandas库DataFrame_Series入门

1. 认识Pandas

Pandas 是 Python 语言的一个扩展程序库,用于数据挖掘和数据分析,同时也提供数据清洗功能。

pandas(panel data & data analysis),是基于 numpy(提供高性能的矩阵运算)专门用于数据分析的工具,是一个强大的分析结构化数据(表格数据)的工具集;

Pandas的操作是基于两种结构: DataFrame结构Series结构

2. DataFrame

2.1. 结构

每一列都为Series结构,多个Series组成DataFrame结构
DataFrame 构造方法

pandas.DataFrame( data, index, columns, dtype, copy)

data:数据(array-like 类型:可以是ndarray、series, map, lists, dict 等类型)。
index:行索引,如果不指定行索引—默认给一个0、1、2、3、… 这样的序号行索引。
columns:列索引 ,如果不指定列索引—默认给一个0、1、2、3、… 这样的序号列索引。
dtype:数据类型。
copy:拷贝数据,默认为 False。

2.2. 属性

以该DataFrame为基准

  • 结构体变量
    • ndim维度 — DataFrame结构为二维
    • shape — 形状
    • size — 数据个数
    • dtypes ---- 返回每一列的数据类型 ---- 不同的列数类型可以不同
    • index ---- 返回DataFrame行索引
    • columns ---- 返回DataFrame列索引
    • values ----- 返回数据 , 类型为numpy.ndarray(数组)

2.3. 初始化方式

3. Series

3.1. 结构

一维的数据 ----- 行维度的数据

  • Series 构造方法

pandas.Series( data, index, dtype, name, copy)

  • Serise的参数与Dataframe的参数相似:
  • data:一组数据(array-like 类型)。
  • index:数据索引标签,不指定默认从 0 开始。可指定array-like 类型需和data长度相同。
  • dtype:数据类型,默认会自己判断。
  • name:设置名称(str 类型),相当于Dataframe结构指定多列名称的Columns 变为单列的name。
  • copy:拷贝数据,默认为 False。

同DataFrame结构关系: DataFrame的每一具体行,就是一个Series的具体结构单元实例;每一行index即为原有DataFrame结构中的Column,name为原有DataFrame中行index索引。

3.2. 属性

以该数组为基准

  • ndim维度 — Series结构为一维
  • shape — 形状
  • size — 数据个数
  • dtypes和dtype ---- 返回数据类型
  • index ---- 返回Series行索引
  • columns ---- 返回Series列索引
  • values ----- 返回数据 , 类型为numpy.ndarray(数组)

3.3. 初始化

index sh603698
0 inspireway 定向
1 inspireproprotion 2.3645
2 initialprice 10.92

4. DataFrame常规使用方法

4.1. 初始化值

返回结果

4.2. 使用常量修改DataFrame列的值

使用一个常量对DataFrame列中的数据进行修改时,代码举例如下:

返回结果

4.3. 使用List\array修改DataFrame列的值

当需要对DataFrame列中的多个值进行修改时,可以使用List或array等变量型数据来对其进行修改。具体代码如下:

返回结果

4.4. 使用Series/DataFrame修改DataFrame列的值

除了以上两种数据类型之外,还可以使用Series型数据来修改DataFrame列的值。但使用这种方法时,需要索引对齐,否则会出错。具体举例如下:

返回结果

5. DataFrame通过replace实现列替换

DataFrame对象自带的方法replace()也可以实现列值的修改。该方法中的参数主要有以下几个:

参数 作用
to_replace 确定需要修改列值的数据。可接受的数据类型有:str, regex, list, dict, Series, int, float, or None
value 指定修改后的值。可接受的数据类型有:scalar, dict, list, str, regex, default None
inplace 是否本地置换
limit 指定前后填充的最大次数
regex 正则表达式符号。如果需要在to_replace中使用字符串形式的正则表达式对数据进行筛选的话,需要将其设置为True。
method 填充方式。‘pad’, ‘ffill’, ‘bfill’, None

创建如下数据,具体如下:

5.1. 对整个DataFrame中的指定数据进行替换

5.2. 对DataFrame中的不同列指定不同的替换方式

5.3. 使用正则表达式筛选数据

6. 参考

https://blog.csdn.net/aerfaqi/article/details/123489740

赞赏

微信赞赏支付宝赞赏

发表评论

邮箱地址不会被公开。 必填项已用*标注