Ошибка типа: только целочисленные скалярные массивы могут быть преобразованы в скалярный индекс при назначении переменной

#python #pandas

Вопрос:

При чтении данных, набрав только команду ниже, мои данные появились в виде 1 столбца и нескольких строк (хотя у меня 40 столбцов).

 data = "mydata.csv" 
df = pd.read_csv(data,sep=", ", thousands=',' ) 
 

Из-за этого я запускаю следующую команду, она сделала мои данные 40 столбцами и некоторыми строками (которые являются правильными числами для строк и столбцов

 names= df.columns.str.split(',').tolist()
df= df.iloc[:,0].str.split(',', expand=True)
df.columns = names
 

Но проблема в том, что это сделало все столбцы объектами, но я хотел сделать их плавающими 64. Поэтому я выполняю следующее

 df = df.apply(lambda col:pd.to_numeric(col, errors='coerce'))
 

Теперь проблема в том, что когда я запускаю следующую строку

 X = df['""USDTRY""']
 

Я получаю следующую ошибку:

 TypeError: only integer scalar arrays can be converted to a scalar index
 

Как я могу это решить?
Любая помощь будет признательна.

Мои данные выглядят следующим образом:

     "USDTRY"    "EURTRY"    "EURUSD"    "BIST100"   "TR2YT" "BRENT" "WTI"   "Altin" "GUmus" "UFE"   "TUGE"  "Cari_Denge"    "Issizlik"  "X1...16"   "X2...17"   "X1...18"   "X2...19"   "X1...20"   "X2...21"   "X1...22"   "X2...23"   "X1...24"   "X2...25"   "X1...26"   "X2...27"   "X1...28"   "X2...29"   "X1...30"   "X2...31"   "X1...32"   "X2...33"   "X1...34"   "X2...35"   "X1...36"   "X2...37"   "X1...38"   "X2...39"   "X1...40"   "X2...41"
0   1.3570  1.6590  1.2230  300.1512    16.97   64.87   67.20   436.7000    6.730   11.12   8.81    -8.760000e 08   9.4 1.3550  1.3425  1.6530  1.6580  1.2217  1.2343  304.6157    309.0802    16.925  16.880  67.57   67.02   69.81   68.94   430.9000    435.0000    6.730   6.820   11.12   11.12   8.81    8.81    -8.760000e 08   -8.760000e 08   9.4 9.4
1   1.3440  1.6221  1.2029  333.3323    15.71   63.48   66.24   468.8000    7.440   10.91   8.10    -1.800000e 07   9.6 1.3570  1.3550  1.6590  1.6530  1.2230  1.2217  300.1512    304.6157    16.970  16.925  64.87   67.57   67.20   69.81   436.7000    430.9000    6.730   6.730   11.12   11.12   8.81    8.81    -8.760000e 08   -8.760000e 08   9.4 9.4
2   1.3480  1.6230  1.2031  333.9623    15.81   63.84   66.79   472.0000    7.480   10.91   8.10    -1.800000e 07   9.6 1.3440  1.3570  1.6221  1.6590  1.2029  1.2230  333.3323    300.1512    15.710  16.970  63.48   64.87   66.24   67.20   468.8000    436.7000    7.440   6.730   10.91   11.12   8.10    8.81    -1.800000e 07   -8.760000e 08   9.6 9.4
3   1.3480  1.6230  1.2039  327.4495    15.89   63.93   66.35   469.0000    7.330   10.91   8.10    -1.800000e 07   9.6 1.3480  1.3440  1.6230  1.6221  1.2031  1.2029  333.9623    333.3323    15.810  15.710  63.84   63.48   66.79   66.24   472.0000    468.8000    7.480   7.440   10.91   10.91   8.10    8.10    -1.800000e 07   -1.800000e 07   9.6 9.6
4   1.3530  1.6163  1.2015  333.1918    15.73   62.97   65.07   462.0000    7.270   10.91   8.10    -1.800000e 07   9.6 1.3480  1.3480  1.6230  1.6230  1.2039  1.2031  327.4495    333.9623    15.890  15.810  63.93   63.84   66.35   66.79   469.0000    472.0000    7.330   7.480   10.91   10.91   8.10    8.10    -1.800000e 07   -1.800000e 07   9.6 9.6
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
4126    8.5745  10.4980 1.2189  1447.0800   18.15   71.49   69.23   1898.9962   27.875  42.89   69.70   -1.127000e 09   10.6    8.5979  8.5787  10.4565 10.4588 1.2171  1.2178  1447.5900   1449.1700   18.090  18.180  72.22   72.22   70.05   69.96   1892.8199   1888.2983   27.635  27.751  42.89   42.89   69.70   69.70   -1.127000e 09   -1.127000e 09   10.6    10.6
4127    8.6563  10.5460 1.2165  1432.9300   18.15   71.89   69.62   1889.9700   27.780  42.89   69.70   -1.127000e 09   10.6    8.5745  8.5979  10.4980 10.4565 1.2189  1.2171  1447.0800   1447.5900   18.150  18.090  71.49   72.22   69.23   70.05   1898.9962   1892.8199   27.875  27.635  42.89   42.89   69.70   69.70   -1.127000e 09   -1.127000e 09   10.6    10.6
4128    8.6905  10.5519 1.2124  1428.1300   18.10   71.31   68.81   1870.5699   27.450  42.89   69.70   -1.127000e 09   10.6    8.6563  8.5745  10.5460 10.4980 1.2165  1.2189  1432.9300   1447.0800   18.150  18.150  71.89   71.49   69.62   69.23   1889.9700   1898.9962   27.780  27.875  42.89   42.89   69.70   69.70   -1.127000e 09   -1.127000e 09   10.6    10.6
4129    8.5826  10.4903 1.2209  1430.7300   18.10   71.35   68.83   1907.9440   28.200  42.89   69.70   -1.127000e 09   10.6    8.6905  8.6563  10.5519 10.5460 1.2124  1.2165  1428.1300   1432.9300   18.100  18.150  71.31   71.89   68.81   69.62   1870.5699   1889.9700   27.450  27.780  42.89   42.89   69.70   69.70   -1.127000e 09   -1.127000e 09   10.6    10.6
4130    8.5301  10.4241 1.2211  1432.0400   18.09   70.25   67.72   1900.1899   27.900  42.89   69.70   -1.127000e 09   10.6    8.5826  8.6905  10.4903 10.5519 1.2209  1.2124  1430.7300   1428.1300   18.100  18.100  71.35   71.31   68.83   68.81   1907.9440   1870.5699   28.200  27.450  42.89   42.89   69.70   69.70   -1.127000e 09   -1.127000e 09   10.6    10.6

 

Спасибо.

Комментарии:

1. Добавление примера данных облегчит проверку проблемы.

2. Я отредактировал вопрос, добавив примеры данных.

3. здесь нет всех столбцов, и, следовательно, было бы трудно воспроизвести проблему, вы можете добавить несколько записей со всеми столбцами вместо этого. Кроме того, я вижу, что вы упомянули разделитель тысяч в read_csv, так означает ли это, что данные в строковом формате или они просто отформатированы как разделенные запятыми, но на самом деле сохранены как простые числа ?

4. Я добавил все столбцы. На самом деле он просто отформатирован как разделенные запятыми и простые числа.

5. С помощью предоставленных вами образцов данных я смог загрузить данные просто pd.read_csv('mydata.csv') , без каких-либо проблем. и даже то X = df["USDTRY"] , что работало нормально