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']