我使用 Windows PC 上的 jupyter 筆記本。我讀了一個數據幀,我調用 tran 如下tran = pd.read_csv("https://raw.githubusercontent.com/m1ngle/TRCount/main/TRCountUS.csv")當我查看整個數據框的數據類型時,它效果很好tran.dtypesFIPS int64State objectYMTF int64MTFPer float64YFTM int64FTMPer float64YNB int64NBPer float64YTR int64YTRper float64NoTR int64NoTRPer float64DK int64DKPer float64DNAns int64DNAPer float64TotSurveyed int64StatePop int64TRPop int64dtype: object當我嘗試調用或使用任何 float64 列時,我收到錯誤tran['MTFPer'].dtypeKeyError Traceback (most recent call last)~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 2645 try:-> 2646 return self._engine.get_loc(key) 2647 except KeyError:pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()KeyError: 'MTFPer'During handling of the above exception, another exception occurred:KeyError Traceback (most recent call last)<ipython-input-85-2bd9c012f223> in <module>----> 1 tran['MTFPer'].dtype~\anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 2798 if self.columns.nlevels > 1: 2799 return self._getitem_multilevel(key)-> 2800 indexer = self.columns.get_loc(key) 2801 if is_integer(indexer): 2802 indexer = [indexer]當我使用任何 int64 數據類型時,不會發生此錯誤。tran['YMTF'].dtypedtype('int64')誰能幫我嗎?
1 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
在讀取.csv
文件時,pandas 還會讀取列中的空白。當我tran[' MTFPer '].dtype
代替 時tran['MTFPer'].dtype
,pandas 給了我正確的答案。
也許稍微清理一下數據本身,或者您可以像這樣清理列名:
tran.columns = [c.strip() for c in tran.columns]
添加回答
舉報
0/150
提交
取消