使用 Python 和 dict 結構相對較新。我從網上匯入了一個 CSV 檔案并將其轉換為字典。我將第一行用作鍵,然后將任何其他后續行用作值。
所以例如

變成
日期 {0:'04-Nov-22',1:'05-Nov-22'}
美元 {0: 0.9872, 1: 2.9872}
日元 {0: 145.19, 1: 11115.19}
我很好奇為什么當我這樣做時:
print('0.9872' in df.values())這會給我一個錯誤的結果,因為它顯然在那里。這可能是相當微不足道的,但最后我想做的是:
用戶以上述格式輸入日期,該日期將決定以后在我的程式中使用哪些值。因此,如果用戶輸入 04-Nov-22,我需要記錄這是 key:value 對中的第 0 個值,所以從現在開始只使用其他第 0 個值,即 0.9872 和 145.19。無論如何抱歉漫無邊際,所以我只想擺脫這個:
data_input = input("Enter the data in DD-MM-YY format please: ")
print(data_input in df.values())-< 讓這不是 False
uj5u.com熱心網友回復:
對于數字 (int, float),您不需要在其周圍加上 ''。'' 或 "" 宣告一個字串,這意味著編譯器認為您正在搜索一個字串,而實際上您正在搜索一個數字。以下面提供的影像為例: 示例
在這里,我們有一個數值串列(整數/浮點數),您可以看到,當編譯器遍歷包含由 '' 包圍的數字的 if 陳述句時,它被標記為 false,但是當它遍歷 if包含純數字的宣告,它被標記為真。
因此,在這種情況下,您需要將代碼更改為:
print(0.9872 in df.values())
至于輸入部分,默認情況下 input() 將輸入作為字串而不是變數回傳,因此您再次告訴編譯器將用戶輸入作為字串而不是數字來搜索。這可以通過將字串轉換為整數來輕松解決,如下所示:
print(int(data_input) in df.values())
假設用戶輸入了正確的數值,這將起作用。
uj5u.com熱心網友回復:
要以您呈現的格式生成表格,您可以使用:
import pandas as pd
df = pd.DataFrame.from_dict({'Date': ['04-Nov-22', '05-Nov-22'], 'USD': [0.9872, 2.9872], 'JPY': [145.19, 11115.19]})
df = df.set_index('Date')
然后如果你使用:
print(df)
print(0.9872 in df.values)
print('04-Nov-22' in df.index)
你會得到輸出:
USD JPY
Date
04-Nov-22 0.9872 145.19
05-Nov-22 2.9872 11115.19
True
True
如果你錯過了 set_index 行,那么 Pandas 會提供一個數字索引,你會在 df.values 中找到“04-Nov_22”。你可以試試這個。
uj5u.com熱心網友回復:
您創建了 3 個字典,而不是 1 個。
在每個目錄中,鍵是 0 和 1。
您需要的可能是這樣的:
df = {"04-Nov-22": (0.9872, 145.19),
"05-Nov-22": (2.9872, 11115.19),
}
日期將是鍵,值將是 2 元組(美元、日元)。
結果將由 "print(df[data_input])"
...
Bienvenue 提供!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/528189.html
上一篇:訪問串列中多個字典的值
下一篇:組裝由字典屬性連接的單獨句子
