结构原始数据
1# -*- coding: UTF-8 -*-23import pandas as pd45data_dict = {'first_col': [1, 2, 3, 4], 'second_col': [5, 6, 7, 8]}67df = pd.DataFrame(data_dict)
iloc()切片函数
1# iloc()函数,切片与索引操作(只能按索引为进行数据切片提取,不能按字符串提取) 2 3# 返回第一行的所有列 4 5print(df.iloc[1,:]) 6 7# 所有行的第0列和第1列 8 9print(df.iloc[:,[0,1]])1011# 组合应用,某一列的前两行数据,可任意组合应用1213print(df['first_col'].iloc[:2])
loc()切片函数
1# loc()函数切片与索引(能够按字符串进行切片提取)23# 提取某几个列的哪几行45print(df.loc[0:1, ['first_col', 'second_col']])67# 提取从某一列到另一列的哪几行数据(这种形式能够抉择一个数据域)89print(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的值(反选)1011print(df[~df['first_col'].isin([1,2])])1213# first_col second_col14# 2 3 715# 3 4 8
缺失值解决
1# 缺失值解决,fillna()函数指定填充缺失值 2 3# 应用均值填充缺失值 4 5print(df.fillna(df.mean())) 6 7# 应用0填充缺失值 8 9print(df.fillna(0))1011# 指定某几个列删除缺失值1213print(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列呈现反复的行,并保留最初一次呈现的行1011df=df.drop_duplicates(subset='first_col',keep='last')1213print(df)1415# 删除first_col列呈现反复的行,不保留全副删除1617df=df.drop_duplicates(subset='first_col',keep=False)1819print(df)
drop()去重
1# 去除有Nan值的行 2 3df = df.dropna(axis=0) 4 5# 去除有Nan值的列 6 7df = df.dropna(axis=1) 8 9# 去除某一列1011df = df.drop(['first_col'], axis=1)1213# 获取first_col列值==2的索引1415row_list = df[df.second_col == 2].index.tolist()1617# 依据索引删除行1819df = df.drop(row_list)
更多精彩返回微信公众号【Python 集中营】,专一于 python 技术栈,材料获取、交换社区、干货分享,期待你的退出~