首页 > 分享 > 数据清洗之数据转换

数据清洗之数据转换

数据清洗之数据转换

最新推荐文章于 2024-08-30 22:14:50 发布

li632519137 于 2020-03-09 23:13:50 发布

数据清洗之数据转换

### 1.日期格式数据处理

import numpy as np

import pandas as pd

import os

os.chdir(r'F:CSDN课程内容代码和数据')

df = pd.read_csv('baby_trade_history.csv', encoding='utf-8',dtype={'user_id':str})

df.head(10)

# 对购买日期进行转换

df['buy_date'] = pd.to_datetime(df['day'],format='%Y%m%d',errors = 'coerce')#加errors防止报错

df.dtypes

# 可以提取对应年月日,必须为timestamp才可以,具体的时间点

df['buy_date'].dt.year

时间差

# 对时间进行计算

df['diff_day'] = pd.datetime.now() - df2['birthday']

df['diff_day'].head(5)

# 时间差由天数,小时和毫秒构成

# timedelta可以理解为时间差类型

df['diff_day'].dt.days# 提取天数

df['diff_day'].dt.seconds# 提取秒数

df['diff_day'].dt.microseconds# 提取毫秒数

# 可以使用pd.Timedelta进行转换

df['时间差'] = df['diff_day']/pd.Timedelta('1 D') #转换为天数

df['时间差'] = df['diff_day']/pd.Timedelta('1 M') #转换为分钟

df['时间差'].head(5)

df['时间差'].round(decimals=3)# 显示为3小数

df['diff_day'].astype('timedelta64[D]')# 这种方式也可以,M 代表月份数,D代表天数,Y代表年份

2. 字符串数据处理

摩托车的销售情况 Condition:摩托车新旧情况(new:新的 和used:使用过的)Condition_Desc:对当前状况的描述Price:价格Location:发获地址Model_Year:购买年份Mileage:里程Exterior_Color:车的颜色Make:制造商(牌子)Warranty:保修Model:类型Sub_Model:车辆类型Type:种类Vehicle_Title:车辆主题OBO:车辆仪表盘Watch_Count:表数

df1 = pd.read_csv('MotorcycleData.csv',encoding='gbk')#摩托车信息

df1.head(5)

df1['Price'].str[0:4]# 字符串切片

将价格转换为float

df1['Price'].astype(float)

# 之间转换直接报错,需要进行字符串处理

df1['价格'] = df1['Price'].str.strip('$')#字符串相关方法

df1['价格'] = df1['价格'].str.replace(',','')

df1['价格'] = df1['价格'].astype(float)# 转换为float数据

df1.Model.head(5)

df1['Location'].str.split(',') # 使用字符串分割,用于对文本的处理

df1['Mileage'].str.len() #计算字符串长度

### 3. 高阶函数数据处理

df2 = pd.read_csv('sam_tianchi_mum_baby.csv',encoding = 'utf-8',dtype =str)#婴儿信息

def f(x):

if '0' in x:

return '女'

elif '1' in x :

return '男'

else:

return '未知'

# 0代表女,1代表男,2代表未知

df2['性别'] = df2['gender'].apply(f)

df2.head(4)

#使用map函数

df2['性别'] = df2['gender'].map({'0':'女','1':'男','2':'未知'})

df2['user_id'].apply(lambda x: x.replace(x[1:3],'**')) #结合lambda替换

df2['birthday'].apply(lambda x: str(x)[0:4]) #提取年份

相关知识

Python 数据清洗
机器学习之数据预处理(Python 实现)
社交媒体数据分析的可视化展示:让数据讲述故事
Python pandas 数据清洗(二)
数据挖掘浅谈
宠物数据可视化如何做
探索性数据分析—赛事数据集(Ⅰ)
宠物皮肤病的流行病学数据分析
大模型训练:数据多样性的力量
类型转换之byte

网址: 数据清洗之数据转换 https://m.mcbbbk.com/newsview475136.html

所属分类:萌宠日常
上一篇: 第300集|如何判断狗狗的牙齿是
下一篇: Python 数据清洗之缺失数据