#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
У меня есть некоторые проблемы с фреймом данных. Я не выяснил причину.
Рассматриваемый фрейм данных — это:
igc_df
Out[30]:
1990 1991 1992 ... 2016 2017 2018
NUTS_ID ...
AT 18771.250 18171.750 18024.000 ... 30351.561 30927.367 32107.263
BE 33522.718 30195.996 31435.236 ... 44326.861 46496.095 46913.188
BG 22393.000 18779.750 15810.750 ... 10697.000 10802.369 10406.698
CZ 28111.000 24096.250 35143.000 ... 23437.068 24897.500 23535.981
DE 198253.000 197062.750 200869.750 ... 232503.925 242876.975 228012.980
DK 6217.500 6690.000 6831.000 ... 7704.542 7997.867 8323.611
EE 2223.250 2450.000 1752.500 ... 1238.500 1110.118 1267.871
EL 0.000 0.000 0.000 ... 6410.250 3745.790 3727.916
ES 39517.064 40557.302 43034.262 ... 75955.126 88028.467 96724.751
FI 10666.000 11446.500 11961.500 ... 6173.572 6528.092 6235.882
FR 106880.792 113685.750 113871.812 ... 113767.099 108666.701 112559.033
HR 7242.750 6099.000 5548.000 ... 4149.750 4494.614 4454.127
HU 37268.750 31098.500 25024.750 ... 15058.357 15840.000 16715.750
IE 4159.500 4377.097 4045.500 ... 8757.936 8862.000 9165.889
IT 150847.750 152795.000 155315.500 ... 97249.250 103164.981 100589.290
LT 10304.250 10895.250 6181.250 ... 3346.500 3392.544 3618.725
LU 3247.250 3254.500 3444.500 ... 3265.548 3090.219 3219.427
LV 5108.250 4443.500 3781.500 ... 1251.489 1250.819 1323.170
NL 78810.487 81238.479 81305.229 ... 58969.915 61468.253 59472.327
PL 29174.750 22070.250 19621.000 ... 39668.250 42851.520 45467.179
PT 0.000 0.000 0.000 ... 13027.685 14120.138 14504.115
RO 194994.750 133018.750 39247.750 ... 24241.750 25918.179 26534.496
SE 2940.500 2486.500 2307.000 ... 3370.250 3010.294 3928.018
SI 6602.000 5805.000 4615.750 ... 4832.000 5102.013 5412.363
SK 15506.750 13708.000 15528.000 ... 9215.750 9942.250 10321.792
UK 121002.500 125588.750 121359.750 ... 90298.784 92721.167 94460.574
[26 rows x 29 columns]
igc_df.dtypes
Я понимаю, что фрейм данных содержит float
:
igc_df.dtypes
Out[31]:
1990 float64
1991 float64
1992 float64
1993 float64
1994 float64
1995 float64
1996 float64
1997 float64
1998 float64
1999 float64
2000 float64
2001 float64
2002 float64
2003 float64
2004 float64
2005 float64
2006 float64
2007 float64
2008 float64
2009 float64
2010 float64
2011 float64
2012 float64
2013 float64
2014 float64
2015 float64
2016 float64
2017 float64
2018 float64
dtype: object
Я попытался удалить столбцы из фрейма данных, но, в качестве примера, когда я это делаю igc_df.drop(columns=1990,inplace=True)
, я получаю KeyError: '[1990] not found in axis'
.
Кроме того, когда я пытаюсь умножить другой фрейм данных float64 на этот, используя .mul(igc_df)
, результатом является фрейм данных, заполненный NaN.
Фрейм данных получен из фрейма данных объекта, который я преобразовал для float64
использования igc_df=igc_df.apply(pd.to_numeric)
.
Есть идеи о том, в чем может быть проблема? Я был бы признателен за любую помощь, которую вы можете предоставить. Заранее спасибо.
Ответ №1:
dtype
Показывает тип содержимого столбца, а не имя столбца, вам, вероятно, следует попробовать
igc_df.drop(columns=["1990"], inplace=True)
Для умножения вы можете поделиться точным кодом, который вы использовали для умножения?