python - 使用行数从 CSV 处理到 CSV 时出现问题
问题描述
我正在尝试将 CSV 文件处理为仅包含感兴趣列的新 CSV 文件,并删除不适合值为 -1 的行。不幸的是,我得到了意想不到的结果,因为它自动将第 0 列(旧 ID)包含到新的 CSV 文件中,而没有明确要求脚本执行它(因为它没有在 cols = [..] 中定义)。
我如何更改这些值以获取新的行数。例如,当我们删除 id=9 的第 9 行时,数据集 id 当前为 [..7,8,10...] 而不是新的 id 计数为 [..7,8,9, 10...]。我希望有人能找到解决方案。
import pandas as pd
# take only specific columns from dataset
cols = [1, 5, 6]
data = pd.read_csv('data_sample.csv', usecols=cols, header=None) data.columns = ["url", "gender", "age"]
# remove rows from dataset with undefined values of -1
data = data[data['gender'] != -1]
data = data[data['age'] != -1]
""" Additional working solution
indexGender = data[data['gender'] == -1].index
indexAge = data[data['age'] == -1].index
# Delete the rows indexes from dataFrame
data.drop(indexGender,inplace=True)
data.drop(indexAge, inplace=True)
"""
data.to_csv('data_test.csv')
先感谢您。
解决方案
数据删除后,我通过简单的一行解决了这个问题:
data.reset_index(drop=True, inplace=True)
推荐阅读
- python - 在声明的函数之外调用类函数
- vba - 为什么下面的 case 语句在下面的循环中不起作用?
- python - 尝试在 python 3.7 上导入 keras 时出错
- flutter - Listview滚动到具有可变高度的小部件
- java - 如何为 maven java 项目设置 maven 调试配置文件
- php - PHP & CURL 抓取
- docker - Docker 容器无法通过 localhost 访问,但可以通过 127.0.0.1 访问
- javascript - 如何使用 JavaScript 访问 JSON 数据中嵌套数组中的特定元素?
- c++ - 退出对 C++ FFI 的调用时出现 Haxe/Neko 异常,该 FFI 对抽象类型的项目进行迭代
- android - Firestore 更新后 LiveData 不刷新 RecyclerView