[英]How to delete rows from a csv file?
我能够从 CSV 文件中提取我想删除的行,但我无法使drop()
函数起作用。
data = pd.read_csv(next(iglob('*.csv')))
data_top = data.head()
data_top = data_top.drop(axis=0)
需要添加什么?
CSV 文件示例。 它应该删除所有内容,直到它到达 Employee 列。
creation date Unnamed: 1 Unnamed: 2
0 NaN type of client NaN
1 age NaN NaN
2 NaN birth date NaN
3 NaN NaN days off
4 Employee Salary External
5 Dan 130e yes
6 Abraham 10e no
7 Richmond 201e third-party
如果只是你想删除的前 5 行,那么你可以这样做:
data = pd.read_csv(next(iglob('*.csv')))
data.drop([0,1,2,3,4], axis=0, inplace=True)
对于轴,您还应该传递单个标签或列表(列名或行索引)。
当然,还有许多其他方法可以实现这一目标。 特别是如果您要删除的行的索引不仅仅是前 5 行。
编辑:如评论中指出的那样就地添加。
考虑到评论和进一步的解释,假设您知道列的名称,并且您有一个位置索引,您可以尝试以下操作:
data = pd.read_csv(next(iglob('*.csv')))
row = data[data['creation date'] == 'Employee']
n = row.index[0]
data.drop(labels=list(range(n)), inplace=True)
主要目标是找到包含值 'Employee' 的行的索引。 为此,假设没有其他行包含该词,您可以过滤数据框以匹配特定列中的相关值。
之后,您提取索引值,您将使用它来创建一个标签列表(给定位置索引),您将删除数据框,如@MAK7 在他的回答中所述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.