共计 1590 个字符,预计需要花费 4 分钟才能阅读完成。
结构原始数据
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 技术栈,材料获取、交换社区、干货分享,期待你的退出~
正文完