我有一个数据帧,其中:
columnA columnB
name timestamp x x
要删除多索引数据帧中的一行,我有以下条件:
df.drop(my_timestamp, level=1, axis=0, inplace=True)
-
我怎么能用一个特定的"名称"和"时间戳"索引删除one row呢?
-
我怎么才能为one name和a list of timestampsgo 掉multiple行呢?
我有一个数据帧,其中:
columnA columnB
name timestamp x x
要删除多索引数据帧中的一行,我有以下条件:
df.drop(my_timestamp, level=1, axis=0, inplace=True)
我怎么能用一个特定的"名称"和"时间戳"索引删除one row呢?
我怎么才能为one name和a list of timestampsgo 掉multiple行呢?
我将根据下面的数据帧示例提供一个答案(实际上您必须提供一个):
columnA columnB
NameA 2016-01-01 12:00:00 p a
2017-01-01 12:00:00 q b
NameB 2018-01-01 12:00:00 r c
NameC 2019-01-01 12:00:00 s d
我怎么才能删除一行带有某个‘name’和‘Timestamp’索引呢?
假设您想丢弃带有‘NameA’的名字和带有‘2017-01-01 12:00:00’的时间戳,那么您可以使用:
df.drop(('NameA', pd.Timestamp(2017, 1, 1, 12)), axis=0)
输出:
columnA columnB
NameA 2016-01-01 12:00:00 p a
NameB 2018-01-01 12:00:00 r c
NameC 2019-01-01 12:00:00 s d
如何为一个名称和一个时间戳列表删除多行?
可以使用pd.MultiIndex.from_product
创建要删除的多索引.
示例:您希望删除用于‘NameA’的两个时间戳:
df.drop(
pd.MultiIndex.from_product([
['NameA'],
[pd.Timestamp(2016, 1, 1, 12), pd.Timestamp(2017, 1, 1, 12)]]),
axis=0
)
输出:
columnA columnB
NameB 2018-01-01 12:00:00 r c
NameC 2019-01-01 12:00:00 s d