python数据分析总结

本文介绍了Python数据分析中的数据清洗和准备阶段,包括处理缺失数据(滤除和填充)、数据转换(如移除重复数据、利用函数转换、替换值等)、字符串操作等。通过pandas库提供的各种方法,如dropna、fillna、map、replace等,有效整理和预处理数据。
摘要由CSDN通过智能技术生成

利用python进行数据分析(其三)

数据清洗和准备

在数据分析和建模的过程中,在数据准备上(加载、清理、转换以及重塑)需要相当多的时间。因此,pandas和内置的Python标准库提供了一组高级的、灵活的、快速的工具,可以有效地将数据规整成所想要的格式。

1. 处理缺失数据

缺失数据在pandas中呈现的方式比较不完美,对于数值数据,pandas使用浮点值NAN(Not a Number)表示缺失数据,即哨兵值,可以方便检测出缺失值:

In [10]: string_data = pd.Series(['aardvark', 'artichoke', np.na
n, 'avocado'])
In [11]: string_data
Out[11]:
0 aardvark
1 artichoke
2 NaN
3 avocado
dtype: object
In [12]: string_data.isnull()
Out[12]:
0 False
1 False
2 True
3 False
dtype: bool

pandas项目中还在不断优化内部细节以更好处理缺失数据,向用户API功能,例如pandas.isnull,去除冗余细节。以下列出一些关于缺失数据处理的函数:
在这里插入图片描述

滤除缺失数据

过滤缺失数据有多中方法,可以通过pandas.isnull或布尔索引的手工方法,但dropna更实用。对于一个Series,dropna返回一个仅含非空数据和索引值的Series:

In [15]: from numpy import nan as NA
In [16]: data = pd.Series([1, NA, 3.5, NA, 7])
In [17]: data.dropna()
Out[17]:
0 1.0
2 3.5
4 7.0
dtype: float64
填充缺失数据

对于大多数情况,fillna方法是主要填补缺失数据的函数,通过一个常数调用fillna就会将缺失值替换成那个常数值:

In [34]: df.fillna({1: 0.5, 2: 0})
Out[34]:
0 1 2
0 -0.204708 0.500000 0.000000
1 -0.555730 0.500000 0.000000
2 0.092908 0.500000 0.769023
3 1.246435 0.500000 -1.296221
4 0.274992 0.228913 1.352917
5 0.886429 -2.001637 -0.371843
6 1.669025 -0.438570 -0.539741

以下列出fillna的参考:
In [34]: df.fillna({1: 0.5, 2: 0})
Out[34]:
0 1 2
0 -0.204708 0.500000 0.000000
1 -0.555730 0.500000 0.000000
2 0.092908 0.500000 0.769023
3 1.246435 0.500000 -1.296221
4 0.274992 0.228913 1.352917
5 0.886429 -2.001637 -0.371843
6 1.669025 -0.438570 -0.539741

2.数据转换

数据转换主要指的是过滤、清理以及其他转换工作

移除重复数据

DataFrame中出现重复行有多种原因,例如:

In [45]: data = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two']
,
....: 'k2': [1, 1, 2, 3, 3, 4, 4]})
In [46]: data
Out[46]:
k1 k2
0 one 1
1 two 1
2 one 2
3 two 3
4 one
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值