我想知道如何从熊猫系列中排除一个或多个项目.例如:
s = pd.Series(data=range(10), index=[chr(ord('A') + x) for x in range(10)])
Run Code Online (Sandbox Code Playgroud)
现在我想排除行B,D,E
一种效率极低的方法是:
index = s.index
for col in ['B','D','E']:
index = index.delete(index.get_loc(col))
new_series = s[index]
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点?
谢谢.
And*_*den 12
您可以使用索引isin方法:
In [11]: s.index.isin(list('BDE'))
Out[11]: array([False, True, False, True, True, False, False, False, False, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
否定使用反转运算符(所以现在读取"不在"):
In [12]: ~s.index.isin(list('BDE'))
Out[12]: array([ True, False, True, False, False, True, True, True, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
并使用它来掩盖系列:
In [13]: s = s[~s.index.isin(list('BDE'))]
In [14]: s
Out[14]:
A 0
C 2
F 5
G 6
H 7
I 8
J 9
dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3618 次 |
| 最近记录: |