gpt4 book ai didi

python - 如何从满足条件的数据框中提取列和行索引

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:54 24 4
gpt4 key购买 nike

我想存储满足特定条件的所有 Dataframe 条目中的所有“坐标”(列位置和行位置)。在我的例子中,如果值大于 0.8。

这是我的代码:

import numpy as np
import pandas as pd


randValues = np.random.rand(5,5)

df = pd.DataFrame(randValues)
df_bool = df > 0.8


colArray = np.empty([])
rowArray = np.empty([])


for dfIdx, dfCol in enumerate(df_bool):
row = dfCol.loc[dfCol['1'] == True]

if ~row.isempty():
colArray.append(dfIdx)
rowArray.append(row)

最佳答案

使用numpy.where对于位置然后通过索引选择如果不是默认索引/列值:

np.random.seed(2019)
randValues = np.random.rand(5,5)

df = pd.DataFrame(randValues, columns=list('abcde'))
print (df)
a b c d e
0 0.903482 0.393081 0.623970 0.637877 0.880499
1 0.299172 0.702198 0.903206 0.881382 0.405750
2 0.452447 0.267070 0.162865 0.889215 0.148476
3 0.984723 0.032361 0.515351 0.201129 0.886011
4 0.513620 0.578302 0.299283 0.837197 0.526650

r, c = np.where(df > 0.8)
print (r)
[0 0 1 1 2 3 3 4]
print (c)
[0 4 2 3 3 0 4 3]

colArray = df.columns.values[c]
print (colArray)
['a' 'e' 'c' 'd' 'd' 'a' 'e' 'd']

rowArray = df.index.values[c]
print (rowArray)
[0 4 2 3 3 0 4 3]

关于python - 如何从满足条件的数据框中提取列和行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54324492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com