python数据分析 | pandas.DataFrame基本数据提炼与处理

构造原始数据
1# -*- coding: UTF-8 -*-
2
3import pandas as pd
4
5data_dict = {'first_col': [1, 2, 3, 4], 'second_col': [5, 6, 7, 8]}
6
7df = pd.DataFrame(data_dict)
iloc()切片函数
 1# iloc()函数,切片与索引操作(只能按索引为进行数据切片提取,不能按字符串提取)
 2
 3# 返回第一行的所有列
 4
 5print(df.iloc[1,:])
 6
 7# 所有行的第0列和第1列
 8
 9print(df.iloc[:,[0,1]])
10
11# 组合使用,某一列的前两行数据,可任意组合使用
12
13print(df['first_col'].iloc[:2])
loc()切片函数
1# loc()函数切片与索引(可以按字符串进行切片提取)
2
3# 提取某几个列的哪几行
4
5print(df.loc[0:1, ['first_col', 'second_col']])
6
7# 提取从某一列到另一列的哪几行数据(这种方式可以选择一个数据域)
8
9print(df.loc[0:1, 'first_col': 'second_col'])  # 表示选取第一行和第二行,从first_col列到second_col列的数据域
isin()筛选数据行
 1# 筛选出某个列包含哪几个值的数据行,如下筛选出first_col列包含1和2的值
 2
 3print(df[df['first_col'].isin([1,2])])
 4
 5#    first_col  second_col
 6# 0          1           5
 7# 1          2           6
 8
 9# 筛选出某个列不包含哪几个值的数据行,如下筛选出first_col列不包含1和2的值(反选)
10
11print(df[~df['first_col'].isin([1,2])])
12
13#    first_col  second_col
14# 2          3           7
15# 3          4           8
缺失值处理
 1# 缺失值处理,fillna()函数指定填充缺失值
 2
 3# 使用均值填充缺失值
 4
 5print(df.fillna(df.mean()))
 6
 7# 使用0填充缺失值
 8
 9print(df.fillna(0))
10
11# 指定某几个列删除缺失值
12
13print(df.dropna(subset=['first_col','second_col']))
drop_duplicates()去重
 1# 去重处理,drop_duplicates()函数
 2
 3# 删除first_col列出现重复的行,并保留第一次出现的行
 4
 5df=df.drop_duplicates(subset='first_col',keep='first')
 6
 7print(df)
 8
 9# 删除first_col列出现重复的行,并保留最后一次出现的行
10
11df=df.drop_duplicates(subset='first_col',keep='last')
12
13print(df)
14
15# 删除first_col列出现重复的行,不保留全部删除
16
17df=df.drop_duplicates(subset='first_col',keep=False)
18
19print(df)
drop()去重
 1# 去除有Nan值的行
 2
 3df = df.dropna(axis=0)
 4
 5# 去除有Nan值的列
 6
 7df = df.dropna(axis=1)
 8
 9# 去除某一列
10
11df = df.drop(['first_col'], axis=1)
12
13# 获取first_col列值==2的索引
14
15row_list = df[df.second_col == 2].index.tolist()
16
17# 根据索引删除行
18
19df = df.drop(row_list)

更多精彩前往微信公众号【Python 集中营】,专注于 python 技术栈,资料获取、交流社区、干货分享,期待你的加入~

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python 集中营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值