pandas数据清洗详细教程_excel数据清洗工具

pandas数据清洗详细教程_excel数据清洗工具Pandas数据清洗常见方法01读取数据df=pd.read_csv(‘文件名称’)02查看数据特征df.info()03查看数据量df.shape04查看各数字类型的统计量df.describe()05去除重复值df.drop_duplicates(inplace=True)06重置索引data.reset_index(inplace=True,drop=True)07查看缺失值信息data.loc[data[‘列名’].isnull()]01

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Pandas 数据清洗常见方法

01 读取数据

df=pd.read_csv('文件名称')

02 查看数据特征

df.info()

03 查看数据量

df.shape

04 查看各数字类型的统计量

df.describe()

05 去除重复值

df.drop_duplicates(inplace=True)

06 重置索引

data.reset_index(inplace=True,drop=True)

07 查看缺失值信息

data.loc[data['列名'].isnull()]

01 每一列数据的缺失值进行统计

data.isnull().sum()

08 填充缺失值

# 用0填充
data=data.fina(0)
# 将这一列的空值填充为平均值,类型为int类型
df_all['列名'] = df_all.列名.fillna(int(df_all.列名.mean())).astype('int')

09 查看是否还有空值

data.isnull().any()

10 对某列数据计数统计

data['列名'].value_counts

11 对某列数据计数并排序

data['列名'].value_counts().sort_values()

01 统计店名的销售额,并排序

data.groupby('店名')['销售额'].sum().sort_values

12 遍历查看数据集所有列的数据类型

cols=df_tm.columns
for col in cols:
	print(col+':'+str(df_tm[col].dtype))

13 转换数据类型

df['列名']=df.列名.astype('int')

01 去掉温度列后的℃,并将数据转为int类型

df.loc[:,'bwendu']=df['bwendu'].str.replace('℃','').astype('int32')

02 对某列数据转换类型

data['列名']=data['列名'].astype(int)

14 删除指定列中有空值的行

mydf.dropna(subset=['列名'],inplace=True)
mysf=mydf.dropna(subset=['列名'])

15 过滤某列中不符合类型的数据

data=data[`data['列名'].isin(['你好'])]

16 转换时间格式

例:20110/02/02====》202-02-02

data['列名']=pd.to_datetime(data)['time']

17 删除某列

data.drop(['列名'],axis=1,inplace=True)

18 重命名列

rename_list={ 
   '原列名1:'新列名1',...}
df.rename(rename_list,axis=1,inplace=True)

19 提取多列数据

df[['列1','列2','列3']]

20 多表合并

df_all=pd.merge(table1,table2,on='参照列',how='inner')

21 去除空格

a.replace('\s+','',regex=True,inplace=True) 

典型案例

01 提取国家和城市,生成新列

image-20201021111102299

# ciy: 提取国家和城市
def transform_country(x):
    if '中国' in x:
        return '中国'
    else:
        return x 
    
def transform_city(x):
    if '中国' in x:
        return x[2:]
    else:
        return x 

df_all['country'] = df_all.city.map(lambda x: transform_country(x))
df_all['city'] = df_all.city.map(lambda x: transform_city(x))

image-20201021111204599

02 提取数值

image-20201021111601709

# height:提取数值
df_all['height'] = df_all.height.str.extract('(\d+)').astype('int')
df_all.head(2) 

image-20201021111515109

03 提取年龄

image-20201021111657124

# age: 提取年龄
df_all['age'] = df_all.age.str.extract('.*?\s*\((.*?)岁\)').astype('float')
df_all.head(2)

image-2020102111174978004 循环遍历某列所有数据,在后面加上指定字段:

image-20201021151124693

data['列名'].apply(lambda x:str(x)+'天')

注释:str(x) 为了将数据转换为字符类型

image-20201021151750560

05 提取汉字

image-20201021151941526

df4['name'] = df4.name.str.extract('([\u4e00-\u9fa5]+)')

image-20201021152010672

06 时间索引格式转换为普通列表格式

m3 = data1['出发时间'].value_counts().sort_index()[:]
m4 = m3['2020'].index
n4 = m3['2020'].values.tolist()
# 将其转化为时间格式的数组
a1 = m4.to_pydatetime()
# 时间转换成以下格式
a2 = np.vectorize(lambda s: s.strftime('%Y-%m-%d'))(a1)

a3 = pd.Series(a2).tolist

输出m4,如下图所示

image-20201021153522738

输出a1,如下

image-20201021154325579

输出a2 ,如下

image-20201021154420999

输出a3,如下

image-20201021154449245

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196401.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 天赋是积累出来的——转载自周鸿祎博客

    天赋是积累出来的——转载自周鸿祎博客天赋是积累出来的(2013年9月)原文地址:http://blog.sina.com.cn/s/blog_49f9228d0101dxiy.html  只要你在一些方面做得好,可能就会有人说你在这方面有天赋。当你听到这样的话时,千万不要当真,因为这很可能是他们在逃避,不愿意正视自己不努力的现实。做好产品,其实跟做好其他事情是一个道理,如果说有天赋,那只是在漫长的过程中不断经历痛苦,不断…

    2022年7月26日
  • 什么是虚拟ip地址_虚拟人IP是什么意思

    什么是虚拟ip地址_虚拟人IP是什么意思AIX中虚拟IP地址的概念与IBMOS/390中的很相似。将虚拟IP地址赋给AIX系统后,可以使IP地址不再依赖指定的网络接口。发送方只需将包送到接收方服务器的虚拟IP地址上即可(所有接收到的包还是通过真正的物理网络接口到达该服务器的)。在虚拟IP地址使用以前,如果一个网络接口失效,所有与之相关的连接(connection)就都会失去。使用虚拟IP地址,需要有AIX系统对虚拟接口和网

    2022年10月20日
  • input 事件监听

    input 事件监听1、change事件,在input失去焦点才会考虑触发,它的缺点是无法实时响应,与blur事件有着相似的功能,但与blur事件不同的是,change事件在输入框的值未改变时并不会触发,当输入框的值和上一次的值不同,并且输入框失去焦点,就会触发change事件。2、input事件,需要实时检测input输入框的值的时候,就需要用到h5的新事件:input事件了,input事件可以实现对input…

    2022年5月10日
  • 3G最新动态

    3G最新动态

    2021年7月29日
  • 【云原生】Docker镜像和容器的导入导出及常用命令

    【云原生】Docker镜像和容器的导入导出及常用命令本文是对Docker的镜像和容器的一些操作指令的汇总,比如镜像和容器的导入导出,以及一些在使用过程中的常用命令。

    2022年9月5日
  • 质量工具因果图_质量管理因果图例题

    质量工具因果图_质量管理因果图例题前言在项目中,我们经常需要用到不同的工具对项目质量进行评审。使用不同的质量工具可能得到的结果不太一样。下面简单说下项目中常用到的质量分析工具因果图。释义:什么是因果图因果图又称为石川图、Ishikawa或鱼骨图,它把影响质量诸因素之间的关系以树状图的方式表示出来,使人一目了然,便于分析原因并采取相应的措施。它是一种在问题发生后,寻找根本原因的一种方法。它取名石川图是因为它是由日

    2022年8月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号