【问题标题】:Is there any way to extract data from dataframe based on conditions? [duplicate]有没有办法根据条件从数据框中提取数据? [复制]
【发布时间】:2019-07-05 23:17:51
【问题描述】:

我有一个数据框,其中包含一些投资数据。我需要根据某些条件(例如funding_type)从该数据框中提取数据。有许多可用的funding_types 我只需要提取与特定基金类型匹配的数据。

例如:funding_type 的值有风险、种子、天使、股权等。 我只需要数据匹配资金类型比如种子和天使

我试过了

 MF1[MF1['funding_round_type']=='seed']

这里 MF1 是我的数据框。这给出了与种子基金类型相关的所有数据

我需要的条件有点像

MF1[MF1['funding_round_type']=='seed' 和 MF1['funding_round_type']=='angel']

但熊猫不允许这样做。

有什么线索吗?

【问题讨论】:

  • MF1[(MF1['funding_round_type']=='seed') &(MF1['funding_round_type']=='angel')]MF1[MF1['funding_round_type'].eq('seed') & MF1['funding_round_type'].eq('angel')] 应该可以工作
  • pandas 当然允许这种类型的操作,但是你必须使用正确的语法。例如:MF1[MF1['funding_round_type'].isin(['seed','angel'])]

标签: python pandas


【解决方案1】:

在这里不起作用,您需要使用 & 和同样的 for or |,但如果您对同一列使用表达式,当然它只能具有其中一个值,因此使用 @ 987654323@ 表达式对于所有列都不成立。你需要在这里使用|(或):

MF1[(MF1['funding_round_type']=='seed') | (MF1['funding_round_type']=='angel')]

或者正如其他人已经说过的那样:

MF1[(MF1['funding_round_type'].isin(['seed', 'angel'])]

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 2022-10-14
    • 2019-09-25
    • 2023-03-24
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多