【问题标题】:How does pandas use a Series object to slice a Data Frame?pandas 如何使用 Series 对象对数据框进行切片?
【发布时间】:2017-06-03 16:10:57
【问题描述】:

我有一个 6x4 的 pandas 数据框,其中填充了来自标准正态分布的随机数(索引是数字 0 到 5,以及列“A”、“B”、“C”和“D”。

import pandas as pd

df = pd.DataFrame(np.random.randn(6,4), index=[0,1,2,3,4,5], columns=list('ABCD))

看起来像这样:

我添加了一个带有一些字符串的列:

df['E'] = ['one', 'one', 'two', 'three', 'four', 'three']

现在数据框如下所示:

引用E列,我只能获取关键字“一”或“四”的行:

x = df['E'].isin(['one','four'])
df[x]

我明白了:

但是当我检查 x 的类型时,它是熊猫系列 (pandas.core.series.Series)。

我不明白如何解释系列来分割数据框?我想了解一些基本的水平。它如何知道要返回哪些行?如果我打印 x,它是一个充满布尔值的系列。

【问题讨论】:

    标签: python pandas dataframe slice


    【解决方案1】:

    这是布尔索引。简单的理解方式,布尔值与数据框对齐。只要布尔级数为真,就会拾取该行。否则 (false),该行被删除。例如,x 在索引 0,1,4 处为真,因此会选取具有这些索引的数据框行,即在您的情况下为第一行、第二行和第五行。

    【讨论】:

      猜你喜欢
      • 2012-08-14
      • 2018-10-21
      • 2021-12-07
      • 1970-01-01
      • 2015-10-10
      • 2020-04-12
      • 2014-05-02
      • 2017-05-21
      • 2016-05-08
      相关资源
      最近更新 更多