簡體   English   中英

無法按列索引我的 Pandas Dataframe

[英]Can't Index my Pandas Dataframe by Column

readHTML=pd.read_html(url)
#The pandas read turned back a list with some useless data
df=readHTML[11]
#Returned as data frame

DataFrame

但是,我注意到我無法按列索引我的 DataFrame 當我這樣做時:

df['Trade Date']

我找回了錯誤:

KeyError: '交易日期'

上述異常是以下異常的直接原因:

KeyError Traceback(最近調用最后)/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 3361 return self._engine.get_loc (casted_key) 3362 除了 KeyError 為 err: -> 3363 raise KeyError(key) from err 3364 3365 if is_scalar(key) and isna(key) and not self.hasnans:

KeyError: '交易日期'

所以我認為這是空間的問題,所以我嘗試:

df.rename(columns = {'Trade Date':'Trade_Date', 'Filing Date':'Filing_Date', 'Trade Type':'Trade_Type'}, inplace=True)
df.columns

我得到了結果:

Index(['X', 'Filing Date', 'Trade Date', 'Ticker', 'Insider Name', 'Title', 'Trade Type', 'Price', 'Qty', 'Owned', 'ΔOwn' , '值', '1d', '1w', '1m', '6m'], dtype='object')

它來自列表的事實可能是罪魁禍首:

type(df)

結果:

pandas.core.frame.DataFrame

我究竟做錯了什么?

謝謝

在這里輸入代碼

這個怎么樣:

import pandas as pd  
  
# Create sample 
data = {'Trade Date': ['2020-12-01', '2020-12-02', '2020-12-03', '2020-12-04'], 'Filing Date': ['Filing Date1', 'Filing Date2', 'Filing Date3', 'Filing Date4'], 'Trade Type':['A', 'B', 'C', 'D']}  
  
# Create DataFrame  
df = pd.DataFrame(data) 

# Create Index
df = df.set_index('Trade Date')
df

結果:

在此處輸入圖像描述

我最終手動命名了這些列:

df.columns=['X', 'Filing_Date', 'Trade_Date', 'Ticker', 'Insider_Name', 'Title', 'Trade_Type', 'Price', 'Qty', 'Owned', 'ΔOwn', 'Value', '1d', '1w','1m', '6m']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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