欢迎访问宙启技术站
智能推送

Python数据处理函数:Python数据处理中常用的函数及用法介绍

发布时间:2023-06-11 04:40:32

Python是一种数据处理语言,具有强大的数据处理和分析能力,可应用于多个领域,包括科学研究、金融、商业、医疗等。在Python的众多功能中,数据处理函数是比较重要的一部分,本文将介绍Python数据处理中常用的函数及其用法。

1.读取数据

在处理数据之前,需要先将数据读入Python环境中。

1.1 pd.read_csv()

这是pandas包中常用的读取csv格式数据的函数,它可以将.csv文件读入DataFrame中。

例如,我们有一个名为test.csv的文件,里面有两列数据:

A,B
a,1
b,2
c,3

那么,使用pd.read_csv()函数可以将test.csv文件读入DataFrame中:

import pandas as pd

df = pd.read_csv('test.csv')
print(df)

运行上述代码会得到以下输出结果:

   A  B
0  a  1
1  b  2
2  c  3

1.2 pd.read_excel()

如果要读取Excel文件,可以使用pandas包中的pd.read_excel()函数,它可以将Excel文件读入DataFrame中。

例如,我们有一个名为test.xlsx的Excel文件,里面有两列数据:

<img src='test_xlsx.png' width='200'>

那么,使用pd.read_excel()函数可以将test.xlsx文件读入DataFrame中:

import pandas as pd

df = pd.read_excel('test.xlsx')
print(df)

运行上述代码会得到以下输出结果:

   A  B
0  a  1
1  b  2
2  c  3

2.查看数据

读入数据之后,需要查看和理解数据,以便更好地进行处理。

2.1 .shape

在开始处理数据之前,我们可以使用.shape函数查看DataFrame的形状,即行数和列数。

例如,有一个DataFrame df,我们使用.df.shape可以查看其形状:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df.shape)

运行上述代码会得到以下输出结果:

(3, 2)

也就是说,该DataFrame有3行和2列。

2.2 .head()和.tail()

.head()和.tail()函数可以分别查看DataFrame的前几行和后几行。默认显示5行。

例如,有一个DataFrame df,我们使用.df.head()可以查看其前5行:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [4, 5, 6, 7, 8]})
print(df.head())

运行上述代码会得到以下输出结果:

   A  B
0  1  4
1  2  5
2  3  6
3  4  7
4  5  8

如果想查看DataFrame的后几行,可以使用.tail()函数:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [4, 5, 6, 7, 8]})
print(df.tail(3))

运行上述代码会得到以下输出结果:

   A  B
2  3  6
3  4  7
4  5  8

3.筛选数据

当数据量很大时,我们需要对数据进行筛选,以便更好地展示和处理数据。

3.1 .loc[]和.iloc[]

.loc[]和.iloc[]可以根据行和列的标签或整数位置选择行和列。

例如,有一个DataFrame df,我们使用.df.loc[]可以通过行和列的标签来选择子集:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['a', 'b', 'c'])
print(df.loc[['a', 'b'], ['A', 'C']])

运行上述代码会得到以下输出结果:

   A  C
a  1  7
b  2  8

使用.iloc[]可以通过行和列的位置来选择子集:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df.iloc[[0, 2], [0, 2]])

运行上述代码会得到以下输出结果:

   A  C
0  1  7
2  3  9

3.2 .query()

.query()函数可以根据一定的条件筛选数据。

例如,有一个DataFrame df,我们使用.df.query()可以根据条件来筛选子集:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df.query('A > 1 and B < 6'))

运行上述代码会得到以下输出结果:

   A  B  C
1  2  5  8

4.数据处理

了解和掌握数据处理函数可以让我们更好地处理数据,以便后续分析和建模。

4.1 .fillna()

.fillna()函数可以用其他值填充缺失的数据。

例如,有一个DataFrame df,我们可以使用.df.fillna()函数将缺失的值填充为0:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [np.nan, 4, 6]})
print(df)
print('---------------')

df_fillna = df.fillna(0)
print(df_fillna)

运行上述代码会得到以下输出结果:

     A    B
0  1.0  NaN
1  2.0  4.0
2  NaN  6.0
---------------
     A    B
0  1.0  0.0
1  2.0  4.0
2  0.0  6.0

4.2 .apply()

.apply()函数可以对列或行应用一个函数。

例如,有一个DataFrame df,我们可以使用.df.apply()函数将各列的平均值计算出来:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df)
print('---------------')

df_average = df.apply(lambda x: x.mean())
print(df_average)

运行上述代码会得到以下输出结果:

   A  B
0  1  4
1  2  5
2  3  6
---------------
A    2.0
B    5.0
dtype: float64

4.3 .groupby()

.groupby()函数可以将DataFrame按照某一列或多列进行分组。

例如,有一个DataFrame df,我们可以使用.df.groupby()函数将其按照'A'列进行分组并求平均值:

import pandas as pd

df = pd.DataFrame({'A': ['a', 'a', 'b', 'b'], 'B': [1, 2, 3, 4]})
print(df)
print('---------------')

df_groupby = df.groupby('A').mean()
print(df_groupby)

运行上述代码会得到以下输出结果:

   A  B
0  a  1
1  a  2
2  b  3
3  b  4
---------------
     B
A     
a  1.5
b  3.5

总结

本文介绍了Python数据处理中比较常用的函数,包括数据读取、查看数据、