Python 数据处理常用语法


  • 删除某列包含特定字符的行
data = data.drop(data[data['房号'].str.contains('车位','车库')].index)
  • 处理日期数据
data['合同签订日期'] = pd.to_datetime(data['合同签订日期'])
  • 获取年份
data.loc[:,'签约年份'] = data.loc[:,'签约日期'].apply(lambda x: x.year).astype(int)
  • 将数据分段
默认right为真,即左开右闭;为假,则左闭右开
data.loc[:,'分类'] = pd.cut(data['未开工时间'],bins=[0,1,3,12],labels=['1年未开工','1-3年未开工','3年以上未开工'])
  • 截取特定位置的字符
不清楚原理,但是当使用data.loc[:,'合同签订年份']时,会报错,采用下面的语法则不会。
data['合同签订年份'] = data['合同编号'].apply(lambda x: x[7:11]).astype(int)
  • 移除字符串前后特定字符
data.loc[:,'证件号'] = data.loc[:, '证件号'].apply(lambda x: x.strip())
  • 删除为空的行
data = data.dropna(subset=['合同总价'])
  • 根据某列数据修改其他某列数据
data['居住地省份'] = data.apply(lambda row: '本市' if (row['居住地省份'] == '广东') and (row['居住地城市'] in ['湛江','廉江','遂溪','吴川','赤坎','坡头','霞山','麻章','雷州','徐闻','经济']) else row['居住地省份'], axis=1)
  • 将数据分组和重新整理
mjfd = data.groupby(['所属区县'],data['签约年份'])['面积分段'].count()
# 数据格式需要强制转化,series 转 dataframe
mjfd = mjfd.loc[:,:].to_frame()
mjfd = pd.pivot_table(mjfd,index=['所属区县','面积分段'], columns='签约年份')
  • 匹配保留数字匹配项
data['购房者出生年份'] = data['购房者出生年份'].apply(lambda x: re.sub(r'[^0-9]', '', x))
  • 筛选出特定长度字符数据
data = data[data['购房者出生年份'].str.len()==4]

 

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/274783.html

(0)
上一篇 2022年7月17日
下一篇 2022年7月17日

相关推荐

发表回复

登录后才能评论