如何重新索引pandas数据帧以将起始索引值重置为零

2024-07-05 10:23:27 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的数据框中,有些行中有NaN值。我想删除这些行。我用dataframe.dropna(how='any')解决它。结果如下:

         date  time   open   hign    low  close  volume  turnover
2  2015-09-01   931  48.60  48.60  48.00  48.00  449700  21741726
3  2015-09-01   932  47.91  48.33  47.91  48.25  158500   7614508

我想重新索引数据帧的行,因此运行:

length = dataframe.dropna(how='any').shape[0]
dataframe1 = dataframe.index(range(length))

但是dataframe1仍然保留旧的索引值,例如:

          date  time   open   hign    low  close  volume  turnover
0         NaN   NaN    NaN    NaN    NaN    NaN     NaN       NaN
1         NaN   NaN    NaN    NaN    NaN    NaN     NaN       NaN
2  2015-09-01   931  48.60  48.60  48.00  48.00  449700  21741726
3  2015-09-01   932  47.91  48.33  47.91  48.25  158500   7614508

如何使数字以0开头并删除前两行?

预期结果:

          date  time   open   hign    low  close  volume  turnover
0  2015-09-01   931  48.60  48.60  48.00  48.00  449700  21741726
1  2015-09-01   932  47.91  48.33  47.91  48.25  158500   7614508

Tags: 数据dataframeclosedatetimeanyopennan
2条回答

重置索引并指定drop=True

df = pd.DataFrame({'close': [nan, nan, 48.0, 48.25],
                   'date': [nan, nan, '2015-09-01', '2015-09-01'],
                   'hign': [nan, nan, 48.60, 48.33],
                   'low': [nan, nan, 48.0, 47.91],
                   'open': [nan, nan, 48.60, 47.91],
                   'time': [nan, nan, 931.0, 932.0],
                   'turnover': [nan, nan, 21741726.0, 7614508.0],
                   'volume': [nan, nan, 449700.0, 158500.0]})

>>> df
         date  time   open   hign    low  close  volume  turnover
0         NaN   NaN    NaN    NaN    NaN    NaN     NaN       NaN
1         NaN   NaN    NaN    NaN    NaN    NaN     NaN       NaN
2  2015-09-01   931  48.60  48.60  48.00  48.00  449700  21741726
3  2015-09-01   932  47.91  48.33  47.91  48.25  158500   7614508

>>> df.dropna(how='any').reset_index(drop=True)
         date  time   open   hign    low  close  volume  turnover
0  2015-09-01   931  48.60  48.60  48.00  48.00  449700  21741726
1  2015-09-01   932  47.91  48.33  47.91  48.25  158500   7614508

你试过reindex功能吗?

相关问题 更多 >