繁体   English   中英

从Python数据框中的SQL连接删除括号

[英]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)

https://stackoverflow.com/a/38147471/7853322

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM