只删除一个双索引
removing just one of double indexes
给出一个pandas.core.series.Series,由两个pandas.core.series.Series组成:
S1 = pd.concat([S,S])
e.g.:|index| value |
| --- | -------- |
|4707 | 25.408939|
|13292| 24.288939|
|38063| 22.766040|
|39458|-16.478080|
|39571|-15.085605|
**|4707 | 25.408939|**
|13292| 24.288939|
|38063| 22.766040|
|39458|-16.478080|
|39571|-15.085605|
重复索引是有意重复的。
我想不通,我怎样才能删除那些重复的行中的一个,例如粗体行。
额外信息:
print(type(S1))
<class 'pandas.core.series.Series'>
print(type(S1[S1.index[i]]))
<class 'pandas.core.series.Series'>
使用 boolean indexing
with |
for bitwise OR
with mask by Index.duplicated
并通过 ~
取反并测试不匹配值 4707
:
S2 = S1[~S1.index.duplicated() | (S1.index != 4707)]
print (S2)
4707 25.408939
13292 24.288939
38063 22.766040
39458 -16.478080
39571 -15.085605
13292 24.288939
38063 22.766040
39458 -16.478080
39571 -15.085605
或者简单地删除 pd.concat
中的值:
S1 = pd.concat([S,S.drop(4707)])
给出一个pandas.core.series.Series,由两个pandas.core.series.Series组成:
S1 = pd.concat([S,S])
e.g.:|index| value |
| --- | -------- |
|4707 | 25.408939|
|13292| 24.288939|
|38063| 22.766040|
|39458|-16.478080|
|39571|-15.085605|
**|4707 | 25.408939|**
|13292| 24.288939|
|38063| 22.766040|
|39458|-16.478080|
|39571|-15.085605|
重复索引是有意重复的。 我想不通,我怎样才能删除那些重复的行中的一个,例如粗体行。
额外信息:
print(type(S1))
<class 'pandas.core.series.Series'>
print(type(S1[S1.index[i]]))
<class 'pandas.core.series.Series'>
使用 boolean indexing
with |
for bitwise OR
with mask by Index.duplicated
并通过 ~
取反并测试不匹配值 4707
:
S2 = S1[~S1.index.duplicated() | (S1.index != 4707)]
print (S2)
4707 25.408939
13292 24.288939
38063 22.766040
39458 -16.478080
39571 -15.085605
13292 24.288939
38063 22.766040
39458 -16.478080
39571 -15.085605
或者简单地删除 pd.concat
中的值:
S1 = pd.concat([S,S.drop(4707)])