已解决
Python进阶复习-Pandas库
来自网友在路上 163863提问 提问时间:2023-09-21 17:01:35阅读次数: 63
最佳答案 问答题库638位专家为你答疑解惑
目录
- 使用场合
- 对象创建
- Series对象
- DataFrame对象
- Numpy与DataFrame
- 处理缺失值
- 分组
- groupby() 函数
- apply()函数
- 透视表
使用场合
- Pandas库是基于Numpy库建立的
- 为数据添加标签、处理缺失值、分组和透视表方面Pandas更高效
对象创建
Series对象
- Series 是带标签的【默认是从0开始的数字】一维数据结构,类似于字典,可以用来表示一列数据。
import pandas as pd
# 创建 Series 对象
s = pd.Series([1, 2, 3, 4, 5])
print(s)
0 1
1 2
2 3
3 4
4 5
dtype: int64
DataFrame对象
- DataFrame 是带标签的多维数据结构,类似于表格,可以用来表示多列数据。
# 创建 DataFrame 对象
df = pd.DataFrame({'列 1': [1, 2, 3, 4, 5], '列 2': [6, 7, 8, 9, 10]})
print(df)
列 1 列 2
0 1 6
1 2 7
2 3 8
3 4 9
4 5 10
- 属性
- index: DataFrame的行索引。
- columns: DataFrame的列索引。
- dtypes: DataFrame 的数据类型。
- shape: DataFrame的行数和列数,返回一个元组 (rows, columns)。
- size: DataFrame的行数和列数的乘积,返回一个整数。
- values:返回 DataFrame 的全部数据,不包括索引。
- iterrows():返回一个迭代器,可以遍历 DataFrame 的每一行。
- itertuples():返回一个迭代器,可以遍历 DataFrame 的所有元组。
- apply():对 DataFrame 的每一列应用一个函数。
- agg():对 DataFrame 的每一列应用一个函数,返回一个新的 DataFrame。
Numpy与DataFrame
import numpy as np
import pandas as pd
arr = np.array([[1, 2, 3], [4, 5, 6]])
df = pd.DataFrame(arr,index=["hang","zhou"],columns=["lie","zhou","ya"])
print(df)
lie zhou ya
hang 1 2 3
zhou 4 5 6
处理缺失值
- 删除缺失值:使用
dropna()
函数,可以删除包含缺失值的行或列。例如:
import pandas as pddata = {'A': [1, 2, None, 4], 'B': [None, 2, 3, 4]}
df = pd.DataFrame(data)# 删除包含缺失值的行
df_no_na = df.dropna()# 删除包含缺失值的列
df_no_na = df.dropna(axis=1)
- 填充缺失值:使用
fillna()
函数,可以填充缺失值。可以使用指定的值、前一个值、后一个值、均值、中位数等方法。例如:
import pandas as pddata = {'A': [1, 2, None, 4], 'B': [None, 2, 3, 4]}
df = pd.DataFrame(data)# 使用指定的值填充缺失值
df_filled = df.fillna(value=0)# 使用前一个值填充缺失值
df_filled = df.fillna(method='ffill')# 使用后一个值填充缺失值
df_filled = df.fillna(method='bfill')# 使用均值填充缺失值
df_filled = df.fillna(method='mean')
分组
groupby() 函数
import pandas as pd# 创建一个 dataframe 对象
data = {'Category': ['A', 'B', 'A', 'B', 'A', 'B', 'A', 'A'], 'Value': [10, 20, 30, 40, 50, 60, 70, 80]}
df = pd.DataFrame(data)# 使用 groupby() 函数进行分组
grouped = df.groupby('Category')# 查看分组结果
for name, group in grouped: print(name) print(group)
ACategory Value
0 A 10
2 A 30
4 A 50
6 A 70
7 A 80
BCategory Value
1 B 20
3 B 40
5 B 60
apply()函数
- pandas 库的 apply() 函数用于对 DataFrame 或 Series 对象进行逐行或逐列的操作。它接受一个函数作为参数,并将该函数应用于对象的每个元素。apply 函数可以用于执行数据转换、计算、过滤等操作。
import pandas as pd# 创建一个 DataFrame
data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}
df = pd.DataFrame(data)# 定义一个函数,用于将每个元素乘以 2
def multiply_by_2(x): return x * 2# 使用 apply 函数
result = df.apply(multiply_by_2)print(result)
执行结果:
A B
0 2 10
1 4 12
2 6 14
3 8 16
透视表
- Pandas的透视表主要用于数据汇总和分析。当需要对大量数据进行快速汇总和分析时,可以使用透视表来完成。透视表可以将数据按照不同的维度进行分组,并计算每个分组的聚合数据,例如求和、平均值、计数等。
import pandas as pd# 创建一个数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50], 'C': [100, 200, 300, 400, 500]}
df = pd.DataFrame(data)# 创建透视表
pivot_table = pd.pivot_table(df, values='C', index='A', columns='B', aggfunc='sum')print(pivot_table)
输出:
B sum
A
1 10 1100
2 20 2100
3 30 3100
4 40 4100
5 50 5100
查看全文
99%的人还看了
相似问题
- 【机器学习】特征工程:特征预处理,归一化、标准化、处理缺失值
- 100天精通风控建模(原理+Python实现)——第3天:风控建模中如何处理缺失值?
- 解决在CENTOS8安装Oracle数据库时缺失compat-libstdc++-33-3.2.3的问题
- 电脑msvcp110.dll丢失怎么办,msvcp110.dll缺失的详细修复步骤
- 几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办
- Leetcode41缺失的第一个正数
- d3dcompiler_47.dll是什么?d3dcompiler_47.dll缺失修复教程
- LeetCode:2003. 每棵子树内缺失的最小基因值(C++)
- 【数据挖掘 | 数据预处理】缺失值处理 重复值处理 文本处理 确定不来看看?
- 如何快速解决d3dcompiler_43.dll缺失问题?五种方法快速解决
猜你感兴趣
版权申明
本文"Python进阶复习-Pandas库":http://eshow365.cn/6-10841-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!