忽略Python中空数组的最佳方法?

时间:2017-06-19 11:18:53

标签: python arrays excel pandas

我将来自单元格范围的值连接到数组中,如果我有一个空值,我需要忽略这个数组并继续使用另一个数组。 什么是最好的方法? 这就是我到目前为止所做的(将arrs转换为str,因为它不允许我在单元格中使用空值)。

def get_names_and_probs(row, col, col1, col2):
    prob_array = []
    name_array = str(df.iloc[row, col]).replace(" ","").split(",")
    name_array1 = str(df.iloc[row, col1]).replace(" ","").split(",")
    name_array3 = str(df.iloc[row, col2]).replace(" ","").split(",")
    C = np.array([[i.value for i in j] for j in ws['O1':'Q1']]).ravel()
    С = list(C)
    print(C)

    for k in range(len(name_array)):
        prob_array.append(C[0])
    for k in range(len(name_array1)):
        prob_array.append(C[1])
    for k in range(len(name_array2)):
        prob_array.append(C[2])
    print(prob_array)

get_names_and_probs(0, 14, 15, 16)

在我的Excel中,我将列作为概率和包含值并与这些概率对应的单元格的列。它看起来像:

  0 50             30     1
  1 Oval, Round           Irregular
  2 Circumscribed       
  3 High density          Equal density, Low density    
  4 Coarse or “popcorn-like”

例如,[1] [50]包含Oval和Round,[1] [30]为空,[1] [1]为不规则。 我要做的是从每一行获取一个数组,然后如果单元格包含多个值,则将其附加到数组,然后将其与上面的概率相关联。 在这种情况下,它应该看起来像name_arr = ['Oval', 'Round', 'Irregular'],相应的概率应该是[50, 50, 1](由于空单元格而忽略30)。

提前致谢!

0 个答案:

没有答案