下面是针对“Python数据分析库pandas基本操作方法”的完整攻略,包括pandas的基本数据结构、数据导入与输出、数据清洗、数据统计分析等方面的基本操作方法。
一、pandas的基本数据结构
pandas的基本数据结构主要有两种,即Series和DataFrame。其中,Series相当于一维数组,包含数据以及数据对应的索引;DataFrame则是二维表格,可以看成是Series的一个容器,包含多个Series以及相应的索引。
1. Series
创建Series对象的方法如下:
import pandas as pd
# 通过数组创建Series
arr = [1, 2, 3, 4]
s = pd.Series(arr)
print(s)
# 通过字典创建Series
dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
s = pd.Series(dict)
print(s)
上述代码通过数组和字典创建了两个Series对象,分别输出如下:
0 1
1 2
2 3
3 4
dtype: int64
a 1
b 2
c 3
d 4
dtype: int64
2. DataFrame
创建DataFrame对象的方法如下:
import pandas as pd
# 通过二维数组创建DataFrame
arr = [[1,2,3],[4,5,6],[7,8,9]]
df = pd.DataFrame(arr, columns=['a', 'b', 'c'], index=['x', 'y', 'z'])
print(df)
# 通过字典创建DataFrame
dict = {'a': [1,4,7], 'b': [2,5,8], 'c': [3,6,9]}
df = pd.DataFrame(dict, index=['x', 'y', 'z'])
print(df)
上述代码通过二维数组和字典创建了两个DataFrame对象,分别输出如下:
a b c
x 1 2 3
y 4 5 6
z 7 8 9
a b c
x 1 2 3
y 4 5 6
z 7 8 9
二、数据导入与输出
1. 数据导入
pandas支持读取多种数据格式,包括CSV、Excel、JSON等格式。常用的读取方法有如下几种:
import pandas as pd
# 读取CSV格式的数据
df = pd.read_csv('data.csv')
# 读取Excel格式的数据
df = pd.read_excel('data.xlsx')
# 读取JSON格式的数据
df = pd.read_json('data.json')
上述代码通过read_csv()、read_excel()、read_json()方法,分别读取了CSV、Excel、JSON格式的数据。读取完毕后,可以使用head()方法查看前几行数据:
print(df.head())
2. 数据输出
pandas支持将数据输出为多种格式,包括CSV、Excel、JSON等格式。常用的输出方法有如下几种:
import pandas as pd
# 输出为CSV格式
df.to_csv('output.csv', index=False)
# 输出为Excel格式
df.to_excel('output.xlsx', index=False)
# 输出为JSON格式
df.to_json('output.json', orient='records')
上述代码通过to_csv()、to_excel()、to_json()方法,分别将数据输出为CSV、Excel、JSON格式的文件。其中,to_csv()和to_excel()方法还可以指定输出的文件名和索引信息。
三、数据清洗
1. 处理缺失值
pandas中常用的处理缺失值的方法有两种,即dropna()和fillna()。其中,dropna()方法用于删除包含缺失值的行或列;fillna()方法用于将缺失值用指定的值进行填充。
import pandas as pd
# 创建包含缺失值的DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Kate'], 'age': [20, 30, None, 25]}
df = pd.DataFrame(data)
# 删除包含缺失值的行
df = df.dropna()
# 将缺失值填充为0
df = df.fillna(0)
上述代码通过dropna()和fillna()方法,分别删除了包含缺失值的行,以及将缺失值填充为0。
2. 处理重复值
pandas中常用的处理重复值的方法是drop_duplicates(),方法会删除DataFrame对象中的重复行。
import pandas as pd
# 创建包含重复行的DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Tom'], 'age': [20, 30, 25, 20]}
df = pd.DataFrame(data)
# 删除重复行
df = df.drop_duplicates()
上述代码通过drop_duplicates()方法,删除了DataFrame对象中的重复行。
四、数据统计分析
1. 基本统计量计算
pandas中常用的基本统计量计算的方法包括mean()、median()、mode()、var()、std()、sum()等。通过这些方法,可以计算出DataFrame中每列数据的平均值、中位数、众数、方差、标准差、和等信息。
import pandas as pd
# 创建DataFrame对象
data = {'name': ['Tom', 'Jerry', 'Mike', 'Kate'], 'age': [20, 30, 25, 22], 'score': [80, 90, 85, 95]}
df = pd.DataFrame(data)
# 计算平均值
print(df.mean())
# 计算中位数
print(df.median())
# 计算众数
print(df.mode())
# 计算方差
print(df.var())
# 计算标准差
print(df.std())
上述代码通过mean()、median()、mode()、var()、std()方法,分别计算了DataFrame中每列数据的平均值、中位数、众数、方差、标准差等信息。
2. 分组统计
pandas中的分组统计功能十分强大,可以使用groupby()方法对数据进行分组,然后使用聚合函数进行统计计算。
import pandas as pd
# 创建DataFrame对象
data = {'name': ['Tom', 'Jerry', 'Mike', 'Kate'], 'age': [20, 30, 25, 22], 'score': [80, 90, 85, 95]}
df = pd.DataFrame(data)
# 按照age列进行分组,计算每组的平均分
result = df.groupby(by='age').mean()
print(result)
上述代码使用groupby()方法将DataFrame对象按照age列进行分组,然后使用mean()方法计算每组的平均分。
两条示例说明
示例一:读取CSV文件并统计数据信息
import pandas as pd
# 读取CSV格式的数据
df = pd.read_csv('data.csv')
# 计算每个科目的平均成绩
mean_score = df.mean()
print(mean_score)
# 计算每个班级的平均成绩
class_mean_score = df.groupby(by='class').mean()
print(class_mean_score)
上述代码通过read_csv()方法读取了CSV格式的数据,然后使用mean()方法分别计算了每个科目的平均成绩,以及每个班级的平均成绩。
示例二:处理缺失值并输出到Excel文件
import pandas as pd
# 读取CSV格式的数据
df = pd.read_csv('data.csv')
# 将缺失值填充为0
df = df.fillna(0)
# 输出到Excel文件
df.to_excel('output.xlsx', index=False)
上述代码通过fillna()方法将CSV文件中的缺失值填充为0,然后使用to_excel()方法将数据输出到Excel文件中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数据分析库pandas基本操作方法 - Python技术站