[英]Remove “dtype” and “object” from list output
我寫了一個 function,它應該在某些條件下基於 dataframe 返回一些值。
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]
然而,我的任務不僅是讓 function 工作,而且還要將結果打印到.json。 然而問題是,當我嘗試將其打印到 a.json 中時,它保留了“0,名稱:,dtype:對象”部分,我想擺脫它。
我一般瀏覽了堆棧和谷歌,但通常的解決方法是在整個列表具有相同數據類型的情況下。
提前致謝。
編輯:我找到了一種解決方法:
我添加了
.tolist()[0]
在引用 dataframe 的每個值之后,像這樣
info = [declaration, 'NO', ID, tempvar['Birthdate'].tolist()[0], tempvar['City'].tolist()[0], tempvar['Street'].tolist()[0], tempvar['Housenumber'].tolist()[0]]
這讓我收到了一份整潔的.json 格式。 這不是最好的解決方案,但它在這里對我有用。 感謝您的回答。
如果您直接從過濾數據中獲取所需的列,例如:
df[df['column_name']==value][column_name]
嘗試:
df[df['column_name']==value][column_name].values.tolist()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.