最近在python开发的过程中,发现了一些比较有意思的问题,确实让自己在开发过程中被恶心了一把,所以开了这个连续的更新博文,之后会持续的按第一第二第三这种版本下去,更新一些比较有意思的python代码问题。

with open('/path/to/file', 'r') as f:print(f.read())

IO读取采用with形式,避免忘记close,否则会产生很神奇的结果


embereding_data.drop_duplicates(keep='first',inplace=True)

python 中删除重复项 如果在原来数据上删除重复项,就要加入inplace=True
否则 只是保存一个副本!!!


pd.read_csv(filename,error_bad_lines=False)

pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 3, saw 2解决办法
在使用pandas读取csv文件时报以上错误,解决办法如左
加上error_bad_lines=False就可以完美解决了


str = " ".join(list(map(str, l)))

myList = [‘a’,‘b’,‘c’,‘d’] myString = “,”.join(myList ) 当myList含有数字的时候这种方法就会报错 因此需要转为str


json.loads('key':value)

value不可以为set、tuple


d3='{"Message":"已注销帐户。\r\n\r\n使用者:\r\n\t安全"}'
j=json.loads(d3,strict=False,encoding='utf-8')
print(type(j)) #返回值:<type 'dict'>
print(j['Opcode'].encode('u8')) #返回值:信息

使用json.loads时,如果原字符串中包含有 \r\n\t等字符,则会提示报错,
修改参数strict=False即可

说明:“If strict is False (True is the default), then control characters will be allowed inside strings. Control characters in this context are those with character codes in the 0-31 range, including ‘\t’ (tab), ‘\n’, ‘\r’ and ‘\0’.”


data['county_route_index'] = data.apply(lambda x: str(x.start_county_cd) + '_' + str(x.end_county_cd),
axis=1)

生成county_route_index字段示例310112.0_320583.0,而start_county_cd、end_county_cd为整型(int64)
解决办法:
1.str(x.start_county_cd)改为str(int(x.start_county_cd))
2.df[‘col3’] = df[‘col1’].map(str) + ‘_’ + df[‘col2’].map(str)


arr = (12,[1,3,3,4],'b')
arr[1]+=[6]---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-15-6bc7f041d391> in <module>()
----> 1 arr[1]+=[6]
TypeError: 'tuple' object does not support item assignment

但是实际上却操作成功:

In [16]: arr
Out[16]: (12, [1, 3, 3, 4, 6], 'b')

不要混合使用list和tuple的时候使用concat操作


def func(a,b):
if a ==1:return b
else:return 1-bbbs_data["real_label"] = bbs_data.apply(lambda row:func(row[2],row[3]),axis = 1)

dataframe 某列的值根据其他列的值计算得来


pRec = {}
import functoolsdef check_is_key_param(f):global pRec@functools.wraps(f)def wrapper(*args, **kwargs):pRec.update(f(*args, **kwargs))return f(*args, **kwargs)return wrapper

收集计算过程中的中间数据

我觉得python确实是比较容易入门的语言,代价是它带来的不稳定性确实也是比较高,需要积累踩坑

欢迎大家关注我的个人bolg,知乎,更多代码内容欢迎follow我的个人Github,如果有任何算法、代码、转行疑问都欢迎通过公众号发消息给我。

Python踩坑指南(第一季)相关推荐

  1. Python踩坑指南(第二季)

    本期围绕jieba讲一个我遇到的实际问题,在同一个服务里,存在两个不同接口A和B,都用到了jieba分词,区别在于两者需要调用不同的词库,巧合中,存在以下情况: 词库A:"干拌面" ...

  2. Python踩坑指南(第三季)

    在代码维护的过程中,发现需要对某个变量进行保护,不允许调用修改,之前我一直使用的是_x或者__x的形式,这样做只是避免展示,但是如果想要强行修改,还是可以变更的,为了保证高安全性,这边可以参考@pro ...

  3. pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南

    原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...

  4. 阿里云天池【Docker练习场】踩坑指南

    阿里云天池[Docker练习场]踩坑指南 题目直达 提交环境搭建(基于macOS) Docker的安装与基本功能使用 Docker安装过程遇到的小问题 提交结果注意事项 提交时的镜像配置 项目结构规范 ...

  5. 我的域名注册踩坑指南

    我的域名注册踩坑指南 一.前言 二.目前拥有的纯字母域名 ds.mba csu.asia mpkq.org impkq.com openhm.com okotlin.com ktanjava.com ...

  6. weex 一个传说级巨坑-- 2018最新版weex踩坑指南(weex navigator 多界面跳转)

    先说结论,本人极度非常 不推荐weex作为任何商用开发 有很多人会说了... 你瞎扯.. 你看别人阿里.. 啊飞猪... 啊那个支付宝... 人家不是用得好好的么... 当然这也是我们公司作为技术选型 ...

  7. 内网穿透,使用 IPv6 公网访问内网设备踩坑指南

    本文是开启宽带 IPv6 功能并使用公网 IPv6 地址访问内网设备的踩坑指南.IPv6 是目前个人体验最优的内网访问方案,个人体验远胜过 ZeroTier,frp 等方案. 场景 将个人设备暴露于公 ...

  8. tabbar角标 小程序_【沃行课堂】恭喜你遇到“坑”,小程序踩坑指南

    上周我们的开发小哥哥带领我们一起领略了开发中遇到的各种问题,以及基于SaaS模式的平台技术架构及实现.本周我们换个方向,由高级开发工程师秋哥带领大家共同探讨下小程序开发中踩过的坑.秋哥会从公司的几个小 ...

  9. Git Commit Message校验踩坑指南

    背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...

最新文章

  1. 听Ruby之父畅谈编程语言的设计
  2. 第一章 插件安装和代码导出
  3. 算法 - 选择排序(C#)
  4. linux cd系统下载地址,Linux系统应急光盘SystemRescueCd v8.0.1 x64下载
  5. java.lang.IllegalStateException: attempt to re-open an already-closed object
  6. 前端学习(806):数据类型内存分配
  7. 数据结构:(7)数据结构小结1
  8. 十三、axios框架学习
  9. Mybatis源码阅读(四):核心接口4.2——Executor(上)
  10. 那些激动人心的React,Webpack,Babel的新特性对于我们开发体验带来哪些提升
  11. 软件测试---弹出窗口
  12. [Usaco2016 Dec]Moocast
  13. Shell脚本编程之(六)循环
  14. 在vpc 2007上安装 ubuntu8.04-desktop(多图解)(转)
  15. 0010-伪类选择器-前端学习笔记
  16. matlab中的pascal函数
  17. html5对锚的更改,HTML5之锚链接
  18. android百度天气接口api接口,百度天气接口api
  19. Excel if及ifs函数用法
  20. 计算机字体在哪里调整,电脑字体太小怎么调 电脑字体调整方法【图文】

热门文章

  1. 如何让机器人持续地进行模仿学习(IROS 2021)
  2. 20~40K | 迁移科技招3D视觉、深度学习算法工程师等十大岗位
  3. YOLOv5x6模型来了! 同样支持CPU上ONNX部署与推理
  4. EPSON机器人建立TCP/IP通讯的简单demo
  5. React +antd +wangEditor 富文本编辑器
  6. 将二进制流转换为图片
  7. OC中的数组,常使用的函数,怎样将字符串写到文件中,将数组写到文件中
  8. Windows下dump文件生成与分析
  9. RDKit | 从ChEMBL数据库提取大分子HELM单体(XML转换为DataFrame并搜索部分结构)
  10. 用于药物反应预测的自适应大小的子结构学习