1.工作中遇到的python坑
1.1 合并文件
问题:正常将文件依次读取并append时,莫名出现很多空行。
解决:在append前删除空行:
data_tmp
1.2 重复数据行
问题: append多日文件时,由于人工误操作,容易存在重复数据行
解决: 去重并设序号:
data.drop_duplicates(keep='first',inplace='True')
data.reset_index(drop=True,inplace=True)
1.3 数字变形
问题: cargo_id较长,转为int32易出现变形
解决:转为int64或字符串格式:
data['cargo_id'].fillna(0).astype("int64")
1.4 转化为数字类型
问题: 转换为数字类型convert_objects从0.21.0已不推荐使用
解决:
pd.to_numeric(data['truck_length'], errors='coerce')
1.5 替换空格
问题: 替换空格,np.where(data.is_deal == ' ', 1, data.is_deal),出现invalid type comparison错误
解决:
data['is_deal'] = data['is_deal'].apply(lambda x: 1 if x == " " else x)
1.6 链式赋值
问题: 某列满足条件,另一列取值(出现链式赋值时,pandas不能够确定到底返回的是一个引用还是一个拷贝。所以遇到这种情况就干脆报warning):data['cargo_tag'][(data['tags_1'].str.contains('|'.join(invalid_reason)) == True)] = 'invalid',A value is trying to be set on a copy of a slice from a DataFrame
解决:
data.loc[data['tags_1'].str.contains('|'.join(invalid_reason)) == True,'cargo_tag'] ='invalid'
1.7 python建立数据表
问题: 建数据表Failed with exception java.io.IOException
解决:
1. csv分隔符是",",
2. hive -e 单引号
1.8 判断内容是否一致
问题: 判断两个list内容是否一致时,不能仅dataNew == dataOld。因为会有顺序不一致的情况
解决:
dataNew.sort()
dataOld.sort()
或
eval
2.把python中较难理解部分讲清楚的博客
2.1 python中的main函数意义
python main函数www.cnblogs.com__main__ --- 顶层脚本环境 - Python 3.7.4 文档docs.python.orgPython 中的 if __name__ == '__main__' 该如何理解blog.konghy.cn2.2 python中self的使用和意义
https://blog.csdn.net/CLHugh/article/details/75000104blog.csdn.net一篇文章让你彻底搞清楚Python中self的含义 - jessonsh - 博客园www.cnblogs.com大家是如何理解Python中的self?www.zhihu.com2.3 pycharm调试分享
大咪:新手必会,pycharm的调试功能(史上最详篇)zhuanlan.zhihu.comhttps://www.bilibili.com/video/av40673678www.bilibili.com2.4 pycharm设置自动模板
Pycharm: 代码跳转回退segmentfault.comhttps://blog.csdn.net/qq_32040767/article/details/78981528blog.csdn.net人类身份验证 - SegmentFaultsegmentfault.com2.5 crontab定时任务
https://blog.csdn.net/m0_37886429/article/details/74178091blog.csdn.netLinux Crontab 定时任务www.runoob.com2.6 pickle模块
https://blog.csdn.net/sxingming/article/details/52164249blog.csdn.net2.7 eval() 函数
Python eval() 函数www.runoob.comhttps://blog.csdn.net/zhanh1218/article/details/37562167blog.csdn.net2.8 解决Pycharm无法导入包问题
https://blog.csdn.net/u014496330/article/details/55211398blog.csdn.net