Javascript 将lambda函数动态应用于列
我知道某些答案不在正确的地方 事实上,我希望,对于每一行,给出最后一列中的答案,如果答案不在Answeri列中,我们将第一列中的答案向左移动,而第一列中没有答案 也就是说,得到这样的东西: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'
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)。您好!谢谢你的回答。不幸的是,最终的目标不是实际分析数据,目标是尝试将答案从右侧的最后一列移动到数据框中左侧的第一列,而这一列在数据框中并非没有。您好!谢谢你的回答。不幸的是,最终的目标不是实际分析数据,目标是尝试将答案从右侧的最后一列移动到数据框中左侧的第一列,而这一列在数据框中并非没有。