python - Pandas 将列中的字符串替换为 int
问题描述
我是熊猫和python的初学者,寻求一点帮助。这是我的数据集,k_symbol 列标签为 UVER 或 SIPO,我想将 UVER 替换为 int 0,将 SIPO 替换为 int 1。
我尝试了 dff.replace(to_replace=['k_symbol'], value=[1, 0]),但它似乎不正确。感谢任何建议
解决方案
apply()
功能是出了名的慢,所以如果你关心速度,考虑这些解决方案之一
1) 地图()
df["k_symbol"].map({"UVER":0, "SIPO":1})
2) boolean 到 int 的转换
df["k_symbol"] = (df["k_symbol"] == "SIPO").astype(int)
计时
%%timeit
df["k_symbol"] = (df["k_symbol"] == "SIPO").astype(int)
10 loops, best of 3: 83.3 ms per loop
%%timeit
df['k_symbol'].apply(lambda x : 0 if x == 'UVER' else 1 )
1 loop, best of 3: 550 ms per loop
%%timeit
df["k_symbol"].map({"UVER":0,"SIPO":1})
10 loops, best of 3: 83.6 ms per loop
推荐阅读
- python - 如何以 emf/wmf 格式获取 matplotlib 图形?
- java - 在表单的选择框部分显示数组列表
- c# - Xamarin Mac,将 CGImage 转换为 .NET System.Drawing.Image
- ruby-on-rails - 阿帕奇无法启动乘客
- c - 带有clang的C大数组中的奇怪分段错误
- visual-studio-code - Visual Studio Code 添加表格会删除以前的表格
- mongodb - MongoDB 连接数如何计算?
- widget - Magento 2:如何创建带有动态字段的小部件?
- python - 如何在文件更改时使用 Gulp 重新启动散景服务器?
- c# - Xamarin 表单中带有圆角skiasharp 矩形的倒计时动画