Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将lambda函数动态应用于列_Javascript_Python_Python 3.x_Google Sheets - Fatal编程技术网

Javascript 将lambda函数动态应用于列

Javascript 将lambda函数动态应用于列,javascript,python,python-3.x,google-sheets,Javascript,Python,Python 3.x,Google Sheets,我知道某些答案不在正确的地方 事实上,我希望,对于每一行,给出最后一列中的答案,如果答案不在Answeri列中,我们将第一列中的答案向左移动,而第一列中没有答案 也就是说,得到这样的东西: Questions Answer0 Answer1 Answer2 Answer3 Answer4 Answer6 3 What is your preference for a in-hotel grocery... 'Not preferred'

我知道某些答案不在正确的地方

事实上,我希望,对于每一行,给出最后一列中的答案,如果答案不在Answeri列中,我们将第一列中的答案向左移动,而第一列中没有答案

也就是说,得到这样的东西:

    Questions   Answer0     Answer1     Answer2     Answer3     Answer4    Answer6
3   What is your preference for a in-hotel grocery...   'Not preferred'     2   3   4   'Preferred'    None
58  3 - If yes, on a scale of 0 -10, to what exten...   'Low affected'  2   3   4    5    'High affected' 
到目前为止,我写了以下内容:

import pandas as pd

def put_at_right_place(row):
    if row.Answer257 not in [None, np.nan]:
        answer = row.Answer257
        if answer not in row.Answer0:
            for i in range(0,257):
                # on choppe la premiere colonne qui n'est pas None
                if row[f'Answer{i}']== None:
                    index_to_replace = 'Answer' + str(i-1)
                    row[index_to_replace] = row.Answer257

df = pd.read_csv('la_hoja_del_vinclulo.csv')
df.apply(lambda x: put_at_right_place(x), axis=1) 

正如在Google表单中一样,我也很乐意尝试Javascript编辑器。

因为我认为最终的目标是实际分析数据…;)

我会融化你的df:

unique_cols = ["QID_x","URL_x","Questions", 
               "Answers_x","Section","QType_x",
               "Theme","Topics"]
results = df.melt(id_vars=unique_cols, 
                  var_name="Answer", 
                  value_name="Value")
results = results[pd.notnull(results["Value"])]
您现在可以轻松分析每个问题:

results[results.QID_x == 1]
融化后,您可以向后旋转并执行以下操作:

results.sort_values(by='Answer').pivot(index="QID_x", columns='Answer', values='Value')

然后用初始帧重新连接(pd.merge)(没有答案)。

因为我认为最终目标是实际分析数据…;)

我会融化你的df:

unique_cols = ["QID_x","URL_x","Questions", 
               "Answers_x","Section","QType_x",
               "Theme","Topics"]
results = df.melt(id_vars=unique_cols, 
                  var_name="Answer", 
                  value_name="Value")
results = results[pd.notnull(results["Value"])]
您现在可以轻松分析每个问题:

results[results.QID_x == 1]
融化后,您可以向后旋转并执行以下操作:

results.sort_values(by='Answer').pivot(index="QID_x", columns='Answer', values='Value')

然后用初始帧(没有答案)重新加入(pd.merge)。

您好!谢谢你的回答。不幸的是,最终的目标不是实际分析数据,目标是尝试将答案从右侧的最后一列移动到数据框中左侧的第一列,而这一列在数据框中并非没有。您好!谢谢你的回答。不幸的是,最终的目标不是实际分析数据,目标是尝试将答案从右侧的最后一列移动到数据框中左侧的第一列,而这一列在数据框中并非没有。