【问题标题】:How to drop rows for those column elements which are list?如何删除列表中的那些列元素的行?
【发布时间】:2020-09-09 17:34:22
【问题描述】:

在上图中,最后一列(“位置”)是一个列表。对于以下情况,我需要删除这些行:

if first item in the list 'location' is greater than 60.0, those rows are not needed for me

如果我使用:

for i in range(len(output)):
    trip_df = output.drop(output[ output['location'][i][0] > 60].index)

错误是:KeywordError: True

我不能简单地放置 output['location'][0],因为它只表示第一行,我如何在有或没有 for 循环的情况下做到这一点?

P.S : 对不起图片,我不知道如何将值放在表格中

【问题讨论】:

    标签: pandas dataframe csv data-analysis


    【解决方案1】:

    使用str方法获取第一项:

    df = pd.DataFrame({"Location":[[61,50],[117,24],[3,5]],     #dummy data
                       "Values":[2,4,6]})
    
    print (df[~df["Location"].str[0].gt(60)])
    
      Location  Values
    2   [3, 5]       6
    

    【讨论】:

      猜你喜欢
      • 2021-07-28
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 2013-06-14
      • 1970-01-01
      • 2017-04-16
      相关资源
      最近更新 更多