自动查找非Nan值及其对应的索引点

时间:2019-03-11 15:23:51

标签: python arrays indexing

根据与合法值(不是NaN)相对应的索引号,在不同点自动查找值,因为根据我放置在初始数据上的函数,整个数据中将有许多NaN。

我有一个DataFrame(名为“ future”),在其中我选择了整个(743个初始行)中相对最小/最大值的特定点,并且能够将这些最小/最大值的索引点放入数组中并将它们添加到“图的数据框('closemin','closemax','rsimin','rsimax')数组的值由这些最小/最大值的索引点组成,这些索引点位于'graph'数据框的相应列中。

我试图找到相对最小/最大值之间的斜率,然后将其与RSIE14在相同索引点处的斜率进行比较。我可以轻松找到索引点,但没有一种使过程自动化的方法-我需要其他数据集,因为这些相对的最小/最大点之间的NaN值会经常变化。 例如,在下面的图片中,索引号351和340处有相对的“ closemin”。我想自动获取那些索引点,然后同时为RSIE14数据获取相同的索引点(351和340),以便我可以自动找到两者的斜率。 Pic showing dataframe and array outputs

1 个答案:

答案 0 :(得分:1)

在遍历这些行时,需要引用一个适用于两个数据帧的通用索引。在这里的示例中,我有两个具有不同数据的数据框,但是引用相同的索引。假设一个数据帧引用关闭数据,另一个数据引用closemin数据。

这是它的工作方式:

import pandas as pd
import random

my_randoms = [random.sample(range(100), 10), random.sample(range(100), 10)]
my_other_randoms = [random.sample(range(100), 10), random.sample(range(100), 10)]

first_dataframe = pd.DataFrame(my_randoms).T
second_dataframe = pd.DataFrame(my_other_randoms).T

print(first_dataframe)
print("----")
print(second_dataframe)
print("----")

for index, row in first_dataframe.iterrows():
    print(f"Index of current row: {index} \n"
          f"Values of current row: {row.values}\n"
          f"Values on same row other DF: {second_dataframe.iloc[index].values}\n"
          f"----")

输出:

    0   1
0  90  61
1  99  88
2  15  56
3  17  37
4  95  93
5  23  43
6  68  14
7   7   9
8  97   2
9  53  91
----
    0   1
0   6  88
1  21  51
2   2  50
3  38  40
4  11  67
5  57  80
6   9  41
7  88  47
8  41  72
9  42  52
----
Index of current row: 0 
Values of current row: [90 61]
Values on same row other DF: [ 6 88]
----
Index of current row: 1 
Values of current row: [99 88]
Values on same row other DF: [21 51]
----
Index of current row: 2 
Values of current row: [15 56]
Values on same row other DF: [ 2 50]
----
Index of current row: 3 
Values of current row: [17 37]
Values on same row other DF: [38 40]
----
Index of current row: 4 
Values of current row: [95 93]
Values on same row other DF: [11 67]
----
Index of current row: 5 
Values of current row: [23 43]
Values on same row other DF: [57 80]
----
Index of current row: 6 
Values of current row: [68 14]
Values on same row other DF: [ 9 41]
----
Index of current row: 7 
Values of current row: [7 9]
Values on same row other DF: [88 47]
----
Index of current row: 8 
Values of current row: [97  2]
Values on same row other DF: [41 72]
----
Index of current row: 9 
Values of current row: [53 91]
Values on same row other DF: [42 52]
----