Bootstrap

python中DataFrame对象

目录

一.图解DataFrame

二..创建一个DataFrame对象

1.通过二维数组组建DataFrame

2.通过字典创建DataFrame

三.DataFrame重要属性和函数

1. 属性:

2. 函数:

四.python中DataFrame对象的注意事项

五.python中DataFrame对象的总结内容


前言:DataFrame是Pandas库中的一种数据结构,它是由多种类型的列组成的二维表数据结构,类似于Excel、SQL或Series对象构成的字典。DataFrame是最常用的Pandas对象,它与Series对象一样支持多种类型的数据

一.图解DataFrame

DataFrame是一个二维表数据结构,由行、列数据组成的表格。DataFrame既有行索引也有列索引,它可以看做是由Series对象组成的字典,不过这些Seies对象共用一个索引,如下图所示:

处理DataFrame表格数据时,用index表示行或用columns表示列更直观。用这种方法迭代DataFrame的列,代码更易读懂。

遍历DataFrame数据,输出成绩表的每一列数据,程序代码如下:

import pandas as pd
data = [[110,105,99],[105,88,115],[109,120,130]]
index = [0,1,2]
columns=['语文','数学','英语']
#创建DataFrame数据
df = pd.DataFrame(data=data,index=index,columns=columns)
print(df)
#遍历DataFrame数据的每一列
for col in df.colums:
    series = df[col]
    print(series)

运行程序,控制台输出结果如下:

   语文   数学   英语
0  110  105   99
1  105   88  115
2  109  120  130

从运行结果得知,上述代码返回的其实是Series,如图所示。Pandas之所以提供多种数据结构,其目的是为了代码易读、操作更加方便。

        语文         数学         英语
0          110        105        99
1           105           88        115
2             109           120        130

二..创建一个DataFrame对象

创建DataFrame主要使用Pandas的DataFrame()方法,语法如下:

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

参数说明:

data:表示数据,可以是ndarray数组、Series对象、列表、字典等

index:表示行标签(索引)。

columns:列标签(索引)

dtype:每一列的数据类型,其与python数据类型有所不同,如object数据类型对应的是python的字符型。如下为Pandas数据类型与python数据类型的对应表。

copy:用于复制数据

返回值:DataFrame

下面通过两种方法来创建DataFrame,即通过二维数组创建和通过字典创建。

1.通过二维数组组建DataFrame

示例如下:通过二维数组创建成绩表,包括语文、数学和英语,程序代码如下:

import pandas as pd
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width',True)
data = [[110,105,99],[105,88,115],[109,120,130]]
columns = ['语文','数学','英语']
df = pd.DataFrame(data=data=data,columns=columns)
print(df)

运行程序,控制台输出结果如下:

   语文   数学   英语
0  110  105   99
1  105   88  115
2  109  120  130

2.通过字典创建DataFrame

通过字典创建 DataFrame,需要注意:字典中的value值只能是一维数组或单个的简单数据类型如果是数组,要求所有数组长度一致:如果是单个数据,则每行都添加相同数据。

示例如下:通过字典创建成绩表,包括语文、数学、英语和班级,程序代码如下:

import pandas as pd
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width',True)
df = pd.DataFrame({
      '语文':[110,105,99],
      '数学':[105,88,115],
      '英语':[109,120,130],
        '班级':'高一7班'
},index=[0,1,2]
print(df)

运行程序,控制台输出如下:

  语文  数学  英语     班级
0   110   105   109  高一7班
1   105    88   120  高一7班
2    99   115   130  高一7班

上述代码中,“班级”的value值是一个单个数据,所以每一行都添加了相同的数据“高一7班”。

三.DataFrame重要属性和函数

 DataFrame是Pandas一个重要的对象,它的属性和函数很多,下面先简单了解 DataFrame的几个重要属性和函数。重要属性介绍如表3.2所示,重要函数介绍如表3.3所示。

DataFrame是Pandas库中最常用的数据结构之一,它是一个二维的表格型数据结构,类似于电子表格或关系型数据库中的表。下面是一些DataFrame的重要属性和函数的解释说明:

1. 属性:

- `shape`:返回一个元组,表示DataFrame的维度,即行数和列数。

- `columns`:返回一个列表,包含DataFrame的列名。

- `index`:返回一个表示DataFrame索引的列表或数组。

- `dtypes`:返回一个Series,其中包含DataFrame每列的数据类型。

- `values`:返回一个二维的NumPy数组,包含DataFrame的数据。

- `head(n)`:返回DataFrame的前n行,默认为前5行。

- `tail(n)`:返回DataFrame的后n行,默认为后5行。

2. 函数:

- `info()`:打印DataFrame的基本信息,包括索引类型、列名、非空值数量和每列的数据类型。

- `describe()`:计算DataFrame每列的统计摘要信息,包括计数、均值、标准差、最小值、25%分位数、中位数、75%分位数和最大值。

- `head(n)`:返回DataFrame的前n行。

- `tail(n)`:返回DataFrame的后n行。

- `loc[]`:通过标签获取行或列的数据。例如,`df.loc[2]`返回索引为2的行数据,`df.loc[:, 'column_name']`返回名为'column_name'的列数据。

- `iloc[]`:通过位置获取行或列的数据。例如,`df.iloc[2]`返回位置为2的行数据,`df.iloc[:, 1]`返回位置为1的列数据。

- `dropna()`:删除包含缺失值(NaN)的行或列。

- `fillna(value)`:用指定的值替换缺失值。

- `sort_values(by)`:按照指定的列对DataFrame进行排序。

- `groupby(by)`:按照指定的列对DataFrame进行分组。

- `merge(other_df)`:将两个DataFrame按照共同的列进行合并。

- `pivot_table(values, index, columns)`:根据指定的值、索引和列创建一个数据透视表。

这些属性和函数只是DataFrame提供的众多功能的一小部分。通过使用这些属性和函数,你可以对DataFrame进行数据操作、统计分析、数据清洗和转换等操作。详细了解Pandas文档中的DataFrame部分可以帮助你更好地利用DataFrame进行数据处理和分析。

重要属性和重要函数如下图所示:

四.python中DataFrame对象的注意事项

在使用DataFrame对象时,有一些注意事项需要考虑。以下是一些常见的注意事项:

1. 列名和索引:确保DataFrame的列名和索引是唯一的,避免出现重复命名的列或索引,这可能导致数据访问和操作时的混淆。

2. 缺失值处理:DataFrame中可能存在缺失值(NaN或None),在进行数据分析或建模之前,需要考虑如何处理这些缺失值,可以选择删除包含缺失值的行或列,或者使用填充方法进行处理。

3. 数据类型转换:DataFrame中的列具有不同的数据类型,确保每列的数据类型正确,以便进行适当的计算和分析。可以使用`astype()`方法将列转换为特定的数据类型。

4. 内存使用:DataFrame对象可能占用大量的内存空间,特别是当数据集非常大时。在处理大型数据集时,可以考虑使用适当的数据类型和压缩方法来减少内存占用。

5. 数据排序:DataFrame中的数据排序是一种常见的操作,但需要注意排序的顺序和基准列。确保在排序时指定正确的列名和排序顺序,以避免数据的不一致性。

6. 数据修改:DataFrame是可变对象,可以对其进行修改。但需要注意,对DataFrame进行原地修改可能会导致意外的结果,建议使用副本或复制DataFrame进行修改,以避免原始数据的丢失或混淆。

7. 性能考虑:在处理大型数据集时,一些操作可能会比较耗时,例如数据合并、分组聚合等。在进行这些操作时,可以考虑使用适当的优化技术,如使用适量化操作(vectorized operations)或使用并行计算来提高性能。

这些是使用DataFrame对象时需要注意的一些事项。了解这些注意事项可以帮助您更好地处理和分析数据,并避免一些常见的错误和问题。

五.python中DataFrame对象的总结内容

DataFrame是Pandas库中最常用的数据结构之一,它是一个二维的表格型数据结构,类似于电子表格或关系型数据库中的表。下面是关于Python中DataFrame对象的总结内容:

1. 创建DataFrame:
   - 使用Pandas的`DataFrame()`函数从列表、字典、NumPy数组等数据结构创建DataFrame。
   - 从CSV、Excel文件或数据库中读取数据创建DataFrame。

2. 属性:
   - `shape`:返回DataFrame的维度,即行数和列数。
   - `columns`:返回DataFrame的列名。
   - `index`:返回DataFrame的索引。
   - `dtypes`:返回DataFrame每列的数据类型。
   - `values`:返回DataFrame的数据。
   - `head(n)`:返回DataFrame的前n行,默认为前5行。
   - `tail(n)`:返回DataFrame的后n行,默认为后5行。

3. 基本操作:
   - 访问列:使用列名或属性访问DataFrame的列数据。
   - 访问行:使用`loc[]`或`iloc[]`通过标签或位置访问DataFrame的行数据。
   - 添加列:使用赋值操作或`insert()`函数添加新的列。
   - 删除列:使用`drop()`函数删除指定的列。
   - 筛选行:使用布尔条件筛选满足条件的行。

4. 数据操作:
   - 缺失值处理:使用`dropna()`删除包含缺失值的行或列,使用`fillna()`填充缺失值。
   - 排序:使用`sort_values()`按照指定的列对DataFrame进行排序。
   - 分组和聚合:使用`groupby()`对DataFrame进行分组,使用聚合函数计算汇总统计。
   - 合并和连接:使用`merge()`将两个DataFrame按照共同的列进行合并,使用`concat()`进行连接操作。
   - 透视表:使用`pivot_table()`创建数据透视表。

5. 数据统计与描述:
   - `describe()`:计算DataFrame每列的统计摘要信息。
   - `mean()`、`median()`、`min()`、`max()`:计算DataFrame每列的均值、中位数、最小值和最大值。
   - `sum()`、`count()`、`std()`、`var()`:计算DataFrame每列的和、计数、标准差和方差。

这些是DataFrame对象的一些重要特性和常用操作。DataFrame提供了丰富的功能,可以进行数据处理、分析和转换等操作,使数据操作变得更加灵活和方便。详细了解Pandas文档中的DataFrame部分可以更好地利用DataFrame进行数据处理和分析。

本文链接:写文章-CSDN创作中心icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/134838977

;