Dataframe的TypeError:列表索引必须是整数或片,而不是str
我正在处理下面的示例,并不断遇到错误:Dataframe的TypeError:列表索引必须是整数或片,而不是str,dataframe,types,Dataframe,Types,我正在处理下面的示例,并不断遇到错误: import pandas as pd import quandl df = quandl.get('WIKI/GOOGL') df = [['Adj. Open','Adj. High','Adj. Low','Adj. Close','Adj. Volume']] print(df.head()) TypeError:列表索引必须是整数或片,而不是str您已经用普通Python列表覆盖了DF: df = [['Adj. Open','Adj. Hi
import pandas as pd
import quandl
df = quandl.get('WIKI/GOOGL')
df = [['Adj. Open','Adj. High','Adj. Low','Adj. Close','Adj. Volume']]
print(df.head())
TypeError:列表索引必须是整数或片,而不是str您已经用普通Python列表覆盖了DF:
df = [['Adj. Open','Adj. High','Adj. Low','Adj. Close','Adj. Volume']]
请尝试以下方法:
In [102]: df = df.filter(regex='^Adj\.')
In [103]: df
Out[103]:
Adj. Open Adj. High Adj. Low Adj. Close Adj. Volume
Date
2004-08-19 50.159839 52.191109 48.128568 50.322842 44659000.0
2004-08-20 50.661387 54.708881 50.405597 54.322689 22834300.0
2004-08-23 55.551482 56.915693 54.693835 54.869377 18256100.0
2004-08-24 55.792225 55.972783 51.945350 52.597363 15247300.0
2004-08-25 52.542193 54.167209 52.100830 53.164113 9188600.0
2004-08-26 52.637487 54.142132 52.492038 54.122070 7094800.0
2004-08-27 54.217364 54.478169 53.008633 53.239345 6211700.0
... ... ... ... ... ...
2017-03-02 856.310000 856.490000 848.720000 849.850000 1243221.0
2017-03-03 848.940000 850.820000 844.705000 849.080000 999655.0
2017-03-06 846.860000 848.940000 841.170000 847.270000 1030586.0
2017-03-07 847.260000 853.330000 845.520000 851.150000 1018514.0
2017-03-08 853.120000 856.930000 851.250000 853.640000 1019962.0
2017-03-09 853.690000 860.710000 852.670000 857.840000 1322603.0
2017-03-10 862.700000 864.229000 857.610000 861.405000 1326432.0
[3162 rows x 5 columns]
您已经用普通Python列表覆盖了DF:
df = [['Adj. Open','Adj. High','Adj. Low','Adj. Close','Adj. Volume']]
请尝试以下方法:
In [102]: df = df.filter(regex='^Adj\.')
In [103]: df
Out[103]:
Adj. Open Adj. High Adj. Low Adj. Close Adj. Volume
Date
2004-08-19 50.159839 52.191109 48.128568 50.322842 44659000.0
2004-08-20 50.661387 54.708881 50.405597 54.322689 22834300.0
2004-08-23 55.551482 56.915693 54.693835 54.869377 18256100.0
2004-08-24 55.792225 55.972783 51.945350 52.597363 15247300.0
2004-08-25 52.542193 54.167209 52.100830 53.164113 9188600.0
2004-08-26 52.637487 54.142132 52.492038 54.122070 7094800.0
2004-08-27 54.217364 54.478169 53.008633 53.239345 6211700.0
... ... ... ... ... ...
2017-03-02 856.310000 856.490000 848.720000 849.850000 1243221.0
2017-03-03 848.940000 850.820000 844.705000 849.080000 999655.0
2017-03-06 846.860000 848.940000 841.170000 847.270000 1030586.0
2017-03-07 847.260000 853.330000 845.520000 851.150000 1018514.0
2017-03-08 853.120000 856.930000 851.250000 853.640000 1019962.0
2017-03-09 853.690000 860.710000 852.670000 857.840000 1322603.0
2017-03-10 862.700000 864.229000 857.610000 861.405000 1326432.0
[3162 rows x 5 columns]
我想你忘了在你的
df
分类中的双括号前键入df
。它应该是:df=df[['Adj.Open'、'Adj.High'、'Adj.Low'、'Adj.Close'、'Adj.Volume']
我想你忘了在你对df
的理解中的双括号前键入df
。它应该是:df=df[[Adj.Open'、'Adj.High'、'Adj.Low'、'Adj.Close'、'Adj.Volume']