indexing - 如何删除 Pandas DataFrame 中的一行并重新标记索引?

标签 indexing pandas delete-row

我正在将文件读入 Pandas DataFrame 中,该文件可能包含无效(即 NaN)行。这是顺序数据,所以我有 row_id+1 指的是 row_id。当我使用 frame.dropna() 时,我得到了所需的结构,但索引标签保持原样。如何将索引标签重新分配为 0 到 N-1,其中 N 是 dropna() 之后的行数?

最佳答案

使用 pandas.DataFrame.reset_index() ,选​​项 drop=True 将满足您的要求。

In [14]: df = pd.DataFrame(np.random.randn(5,4))

In [15]: df.ix[::3] = np.nan

In [16]: df
Out[16]:
          0         1         2         3
0       NaN       NaN       NaN       NaN
1  1.895803  0.532464  1.879883 -1.802606
2  0.078928  0.053323  0.672579 -1.188414
3       NaN       NaN       NaN       NaN
4 -0.766554 -0.419646 -0.606505 -0.162188

In [17]: df = df.dropna()

In [18]: df.reset_index(drop=True)
Out[18]:
          0         1         2         3
0  1.895803  0.532464  1.879883 -1.802606
1  0.078928  0.053323  0.672579 -1.188414
2 -0.766554 -0.419646 -0.606505 -0.162188

关于indexing - 如何删除 Pandas DataFrame 中的一行并重新标记索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13807758/

相关文章:

php - Eloquent ,删除不起作用,Laravel 5

java - 如何使listview可点击并且能够删除点击的项目?

ios - UITableViewCell,显示没有滑动的滑动式删除按钮

python pandas 将 3 列数据对传递到循环和 MySQL 查询中

python - 编写 if-else 循环以根据条件填充数据框列时出现 ValueError

python - 是否有任何函数可以将数据帧列中的数字与一系列数字进行比较?

pandas - 如何在 Pandas 中聚合子数据帧?

mysql - Mysql 列上的索引的基数比不同计数低?

R将矩阵中的所有列与循环中的每个列进行比较

excel - 使用带有索引的 if 语句