微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 在pandas中按索引选择多个行部分

我有大型DataFrame与GPS路径和一些属性.路径的一些部分是我需要分析的部分.我想仅将这些部分子集化为新的DataFrame.我可以在当时对一个部分进行子集化,但我们的想法是将它们全部包含在原始索引中.

问题类似于:

import pandas as pd 
df = pd.DataFrame({'A':[0,1,2,3,4,5,6,7,8,9],'B':['a','b','c','d','e','f','g','h','i','j']},
                  index=range(10,20,))

我希望得到类似的东西:

cdf = df.loc[[11:13] & [17:20]] # SyntaxError: invalid Syntax

期望的结果:

    A  B
11  1  b
12  2  c
13  3  d
17  7  h
18  8  i
19  9  j

我知道这个例子很容易用cdf = df.loc [[11,12,13,17,18,19],]但是在最初的问题中我有数千行和一些条目已被删除,所以列出点是相当的不是一种选择.

解决方法:

concat一个可能的解决方案:

cdf = pd.concat([df.loc[11:13], df.loc[17:20]])
print (cdf)
    A  B
11  1  b
12  2  c
13  3  d
17  7  h
18  8  i
19  9  j

另一种范围解决方案:

cdf = df.ix[list(range(11,14)) + list(range(17,20))]
print (cdf)
    A  B
11  1  b
12  2  c
13  3  d
17  7  h
18  8  i
19  9  j

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐