例如,这是数据框
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.WarningPolicy())
client.connect('example.com',22,'XXXXX','XXXX')
a=input ("enter the file path")
stdin,stdout,stderr=client.exec_command('cd a && pwd')
我想选择所有包含“宽”值的行。让我们假设我不知道,哪一列包含此类值。
这只是一个简化的示例。我需要它以便遍历组织成数组的唯一表值。
1 2
high wide
high thin
short wide
short thin
有没有一种方法,而不必为每个值确定一列? 我的意思是,这可能有效
for uv in uniqueValues:
valueObjects = """select all the rows that contain uv"""
但是我希望有一个更优雅的解决方案。
答案 0 :(得分:2)
df = df[df.eq('wide').any(axis=1)]
#alternative
#df = df[(df == 'wide').any(axis=1)]
print (df)
1 2
0 high wide
2 short wide
详细信息:
首先用DataFrame.eq
或==
比较布尔值DataFrame
的所有值:
print (df.eq('wide'))
1 2
0 False True
1 False False
2 False True
3 False False
然后通过DataFrame.any
对每行至少测试一次True
:
print(df.eq('wide').any(axis=1))
0 True
1 False
2 True
3 False
dtype: bool