【问题标题】:pandas DataFrame selection by element in arraypandas DataFrame按数组中的元素选择
【发布时间】:2020-05-21 09:03:44
【问题描述】:

尝试根据 df 中数组中某个元素的出现来选择 df 的子集。

df = pd.DataFrame()
vals = []
for i in range(3):
    vals.append(np.linspace(0,1,i+1))
df['vals']=vals

df.isin({'vals':[0.5]})

返回TypeError: unhashable type: 'numpy.ndarray'

这样的 df 选择的其他选项?

【问题讨论】:

    标签: pandas dataframe


    【解决方案1】:

    你需要applyin作为布尔掩码,如果需要过滤器使用boolean indexing

    print (df.vals.apply(lambda x: 0.5 in x))
    0    False
    1    False
    2     True
    Name: vals, dtype: bool
    
    print (df[df.vals.apply(lambda x: 0.5 in x)])
                  vals
    2  [0.0, 0.5, 1.0]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多