簡體   English   中英

從列表 output 中刪除“dtype”和“object”

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM