【问题标题】:How do a take values out of a pandas dataframe and put them into a new list?如何从 pandas 数据框中取出值并将它们放入新列表中?
【发布时间】:2019-04-09 03:29:53
【问题描述】:

有一个 pandas 数据框,我想取出符合真理条件的特定行并将它们放入一个新列表中,我将如何去做? 尝试设置 df.loc[df==101] 的切片操作,但我不断收到错误“Key Error = 0”

【问题讨论】:

  • 你能提供一个数据框的例子吗?
  • df.values[df == 101].tolist()
  • 是的,这里是数据框的一部分扇区代码 2018-04-02 00:00:00+00:00 Equity(2 [ARNC]) 310 Equity(21 [AAME]) 103 Equity(24 [AAPL]) 311 股权(25 [ARNC_PR]) 101 股权(31 [ABAX]) 206
  • 当数据框等于 101 时,我想取出该行并将其放入新列表中
  • 请详细说明您的问题,您正在寻找的预期输出是什么。

标签: python pandas list dataframe


【解决方案1】:

与值比较时请指定列名。您正在将整个数据帧与 df.loc[df==101]

中的 101 进行比较
df = pd.DataFrame(data=[['Equity(2 [ARNC])', 310],
                     ['Equity(21 [AAME])', 103],
                     ['Equity(24 [AAPL])', 101],
                     ['Equity(25 [ARNC_PR])', 101],
                     ['Equity(31 [ABAX])', 206]], columns=['Equity','Value'])
print df
             Equity           Value
0      Equity(2 [ARNC])        310
1     Equity(21 [AAME])        103
2     Equity(24 [AAPL])        101
3  Equity(25 [ARNC_PR])        101
4     Equity(31 [ABAX])        206


df = df.loc[df['Value']==101]
print df

                 Equity       Value
2     Equity(24 [AAPL])        101
3  Equity(25 [ARNC_PR])        101

从这个更新的数据框中,您可以获得所需的列表。

newlist = df['Equity'].tolist()
print newList
['Equity(24 [AAPL])', 'Equity(25 [ARNC_PR])']

【讨论】:

    猜你喜欢
    • 2021-10-17
    • 1970-01-01
    • 2022-11-01
    • 2020-05-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    相关资源
    最近更新 更多