我想顯示行,AF 列中的哪些值滿足只有單列值介于 (0,5> 之間,其余值大于 5元素距離測量中心很近(例如 0-5m 距離),其余點(列值)“更遠”。我添加了字串列作為障礙。
我在下面的代碼中嘗試過但沒有成功。另外還有一個條件,即其余列的值應大于 5。
df[(df.columns[-6:]>0) & (df.columns[-6:]<=5)]
最小可重現示例:
import numpy as np
import pandas as pd
import string
rowsNumber = 15
digitColumnNumber = 6
letterColumnNumber = 3
df_numbers = pd.DataFrame(np.random.randint(0,25,size=(rowsNumber, digitColumnNumber)), columns=list('ABCDEF'))
df_letters = pd.DataFrame(np.arange(rowsNumber*letterColumnNumber).reshape(rowsNumber,letterColumnNumber)).applymap(lambda x: np.random.choice(list(string.ascii_letters)))
df = pd.concat([df_letters, df_numbers], axis=1)

uj5u.com熱心網友回復:
這是你想要的?
df2 = df.loc[:,'A':'F'].copy()
df.loc[df2.clip(0,5).eq(df2).sum(axis=1).eq(1)]
uj5u.com熱心網友回復:
您可以簡單地切片所需的列,并計算其值小于或等于 5 的列(我假設這些值大于或等于 0,但如果不是這種情況,很容易添加第二個查看):
df[df.loc[:,'A':'F'].le(5).sum(1).eq(1)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/325891.html
下一篇:如何按元素比較兩個資料框?
