python - 由于数据库输入错误,切换到特定类别的列
问题描述
我的数据库有这种类型的错误,因为某些商品类别Snacks
与价格错位。我想切换我需要切换列。这是我的数据
Id Item_category Price
1 Food 647
2 Drinks 672
3 Food 627
4 Drinks 678
5 679 Snacks
6 742 Snacks
7 Snacks 743
8 Drinks 689
我需要什么数据库
Id Item_category Price
1 Food 647
2 Drinks 672
3 Food 627
4 Drinks 678
5 Snacks 679
6 Snacks 742
7 Snacks 743
8 Drinks 689
解决方案
用于isnumeric
布尔掩码,然后通过 2d numpy 数组交换值:
mask = df['Item_category'].str.isnumeric()
#if necessary check numeric
#mask = pd.to_numeric(df['Item_category'], errors='coerce').notnull()
df.loc[mask, ['Item_category','Price']] = df.loc[mask, ['Price','Item_category']].values
print (df)
Id Item_category Price
0 1 Food 647
1 2 Drinks 672
2 3 Food 627
3 4 Drinks 678
4 5 Snacks 679
5 6 Snacks 742
6 7 Snacks 743
7 8 Drinks 689
推荐阅读
- javascript - 为什么在 Webpack 4 中设置 minChunks 会破坏 cacheGroup 的构建?
- java - 使用 Eclipse 编译程序时出现 Java 错误 NoSuchAlgorithmException
- python - FFTW 从 numpy.fft 产生不同的结果
- c++ - 组织和编写异常类的正确方法
- python - 打印正面或反面/python百分比的硬币翻转程序
- java - 字符串 hashCode() 文档与实现
- javascript - 如何从 AJAX 请求中获取第一个关键对象
- javascript - Laravel,webpack.mix中的js,找不到函数
- asp.net - OWIN Katana 与 ASP.NET Core Docker 容器相比如何
- ruby-on-rails - Rails ActiveRecord :在加入后更改用于集合的 ruby 类