[英]Removing brackets from SQL connexion in Python dataframe
我是新来的
我的Python笔记本中有一个SQL查询表,它提供以下数据框:
我的最终目标是对第二列(即布尔值)进行分组,并获得第一列每组的平均值(范围为1到10)
问题是我无法有效地移除括号,因此无法从第一列计算任何内容。 到目前为止,我已经尝试过了:
val = df.values
val
其次是:
list = [i[0] for i in val]
z = map(ast.literal_eval,list)
zz= list(z)
zz
我想使用一个有效的值,例如:列中的值:[367,368,370](这是多选问题的选择,为您提供了一些上下文),但是在这种情况下,它不起作用。 也许因为旁边的布尔值吗? 我真的不知道
编辑:SQL查询:
pd.read_sql
('
SELECT U.iUserSexeType, CA.jAnswer
FROM [User] U
JOIN DBO.ConsultationAnswer CA ON CA.fkiUserId=U.id
LEFT JOIN UserAdresse UA ON UA.fkiUserId=U.id
WHERE fkiConsultationSurveyId=37 and fkiConsultationQuestionId=260
')
有什么建议么 ?
您可以这样做以删除SQL查询中的括号:
Select replace(replace(JAnswer,'['),']')
from your table
您的查询:
SELECT U.iUserSexeType, replace(replace(CA.jAnswer,'['),']') as jAnswer
FROM [User] U
JOIN DBO.ConsultationAnswer CA ON CA.fkiUserId=U.id
LEFT JOIN UserAdresse UA ON UA.fkiUserId=U.id
where fkiConsultationSurveyId=37
and fkiConsultationQuestionId=260
df['value'] = df['value'].str[0]
要么:
df['value'] = df['value'].str.get(0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.