Python数据处理函数:Python数据处理中常用的函数及用法介绍
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数据处理中比较常用的函数,包括数据读取、查看数据、
