【问题标题】:Select 10 cases from one column with Pandas (python) [duplicate]使用 Pandas(python)从一列中选择 10 个案例 [重复]
【发布时间】:2019-08-08 14:20:00
【问题描述】:

我正在尝试使用 pandas 将 10 个案例选择到一个新数据框中,但我遇到了一个问题。我正在使用此代码:

    import pandas as pd
    import csv
    import geopy
    import numpy as np
    import geopandas as gpd

    new_df = df.loc(axis=0)[df['cod'] == 569852, 478521, 
    159632, 458216, 521562, 258632, 584526, 596325, 596325, 512584]

我收到以下错误

TypeError: 'Series' 对象是可变的,因此它们不能被散列

我已经试过了

new_df = df.loc(axis=0)[df['cod'] == '569852', '478521', 
        '159632', '458216', '521562', '258632', '584526', '596325', '596325', '512584']

但错误是一样的。我做错了什么?

【问题讨论】:

    标签: python python-3.x pandas jupyter-notebook


    【解决方案1】:

    您可以使用.isin() 将系列与可迭代进行比较。所以在你的情况下,你可以有

    new_df = df[df['cod'].isin([569852, 478521, 159632, 458216, 521562, 258632, 584526, 596325, 596325, 512584])
    

    【讨论】:

    • 在 df.loc[df['cod'].isin([569852, 478521, 159632, 458216, 521562, 258632, 584526, 596325, 596325, 512584]) 之后,我会添加 .copy () 以防万一您正在切片 new_df。据我所知,它将避免出现警告消息。
    猜你喜欢
    • 2020-10-20
    • 2020-04-04
    • 1970-01-01
    • 2022-01-14
    • 2013-01-15
    • 1970-01-01
    • 2017-02-18
    • 2020-01-26
    • 2014-07-28
    相关资源
    最近更新 更多