【发布时间】:2021-07-22 03:56:41
【问题描述】:
我正在尝试将选项链拆分为单独的数据框,用于仅包含来自列的调用 ('C') 的行,对。
options_df
| Index | Right |
|---|---|
| 0 | P |
| 1 | P |
| 2 | P |
| 3 | C |
| 4 | C |
| 5 | C |
我尝试创建一个新的数据框 df 来保存调用 ('C'):
df = options_df
df.drop(df[df["Right"] == 'P'].index)
这会返回数据框 df,但不幸的是它保留了原始数据框 options_df 的索引:
df
| Index | Right |
|---|---|
| 3 | C |
| 4 | C |
| 5 | C |
理想情况下,df 的数据框应如下所示:
| Index | Right |
|---|---|
| 0 | C |
| 1 | C |
| 2 | C |
但是,它没有。
我尝试通过重置索引来纠正,如下所示:
df.reset_index(drop=True)
但它也不起作用,并将整个原始数据框还给我,options_df:
df
| Index | Right |
|---|---|
| 0 | P |
| 1 | P |
| 2 | P |
| 3 | C |
| 4 | C |
| 5 | C |
我确信有一个简单的解决方案,但我就是想不出这个。谢谢你的帮助!
【问题讨论】:
-
df.drop(df[df["Right"] == 'C'].index)这不是就地操作。您必须重新分配它,然后重置索引。 -
谢谢,问题解决了!
-
其实,为了简单起见,如果只选择一个条件,则不需要使用.drop(),只需选择所需条件的行即可。