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()
能否请您将代码附加到您的问题中?是的,我将很快编辑此帖子。