本文为个人学习记录,如有不准确的地方,欢迎指正,谢谢!
#1.查看数据类型
data.info()
data.dtypes
data['col1'].dtypes #查看一列数据类型
#2.转换数据格式
data['col1'].astype("str")
pd.cut(data['col1'],10).astype("str") #可以把分组后的区间转换为字符串,方便后续数据筛选等
#3.转日期
import pandas as pd
data_dt=pd.to_datetime(df['col1'],format='%Y/%m/%d')
#输出不保留00:00:00
data_dt=pd.to_datetime(df['col1'],format='%Y/%m/%d').date()
#如果原始数据为'Jun-2016' 格式
data_dt=pd.to_datetime(df['col1'],format='%b-%Y')
data_dt.dt.year #提取年 month,day,weekday,hour,minute,second
from datetime import date,datetime,timedelta
datetime.strptime('2020-01-01','%Y-%m-%d')
d=datetime.now() #当前日期
d-timedelta(days=1) #减去一天
#4.转字符
from datetime import datetime
dt_str=data_dt.apply(datetime.strftime(x,"%d-%m-%Y"))
data_dt['col']=data_dt.apply(lambda x:datetime.strftime(x['col1'],"%Y-%m"),axis=1) #保留年月
#5.转数字
pd.to_numeric(data['col1']) #有时候astype转不了的,用这种方法可以转,具体原因未知
list(map(int,data['col1'])) #list中的字符串转数值
#6.list 转字符串,加引号
data_list=data['col1'].values.tolist()
result=[]
for i in data_list:
result.append(i)
sample_list= '\''+'\',\''.join(result)+'\''
#7、str转intervel
str_intervals = [i.replace("[","").replace(")", "").split(", ") for i in not_null_woe["Bucket"]]
original_cuts = [pd.Interval(float(i), float(j), closed='left') for i, j in str_intervals]