Python 删除“;“数据类型”;及;“对象”;从列表输出

Python 删除“;“数据类型”;及;“对象”;从列表输出,python,pandas,Python,Pandas,我编写了一个函数,该函数应该在特定条件下基于数据帧返回一些值 def myFun(declaration, policynumber, ID): tempvar = df.loc[(df['Moneyamount'] == 70) & (df['ID'] == ID) & (df['Nr deklaracji'] == declaration) & (df['Nr Polisy'] == policynumber)] if len(tempvar) ==

我编写了一个函数,该函数应该在特定条件下基于数据帧返回一些值

def myFun(declaration, policynumber, ID):
    tempvar = df.loc[(df['Moneyamount'] == 70) & (df['ID'] == ID) & (df['Nr deklaracji'] == declaration) & (df['Nr Polisy'] == policynumber)]
    if len(tempvar) == 1:
        info = [declaration, 'YES', ID, tempvar['Birthdate'], tempvar['City'], tempvar['Street'], tempvar['Housenumber']]
    elif len(tempvar) == 0:
        info = [declaration, 'NO', ID, tempvar['Birthdate'], tempvar['City'], tempvar['Street'], tempvar['Housenumber']]
    return(info)
一切都是有效的,除了结果如下:

[90052,
 'YES',
 58041991951,
 0    19-04-58
 Name: Birthdate, dtype: object,
 0    Warsaw
 Name: City, dtype: object,
 0    Bluestreet
 Name: Street, dtype: object,
 0    6
 Name: Housenumber, dtype: object]
然而,我的任务不仅仅是让该函数工作,还包括将结果打印到.json。然而,问题是,当我尝试将其打印到.json中时,它保留了“0,Name:,dtype:object”部分,我想去掉它

我大体上浏览了stack和google,但通常的解决方法是在整个列表都是相同数据类型的情况下

提前谢谢

编辑: 我找到了一个解决办法:

我补充说

.tolist()[0]

在引用数据帧的每个值之后,如下所示

    info = [declaration, 'NO', ID, tempvar['Birthdate'].tolist()[0], tempvar['City'].tolist()[0], tempvar['Street'].tolist()[0], tempvar['Housenumber'].tolist()[0]]

这使我能够收到一个整洁的.json格式。这不是最好的解决方案,但在这里它对我有效。感谢您的回答。

如果您直接从过滤数据中获取所需的列,如:

df[df['column\u name']==value][column\u name]

尝试:


df[df['column\u name']==value][column\u name].values.tolist()

能否请您将代码附加到您的问题中?是的,我将很快编辑此帖子。