Как преобразовать массив чисел, сохраненных в виде строки в «одну» ячейку CSV-файла в Python? - PullRequest
0 голосов
/ 01 июня 2018
p[1:2]
Out[23]: 
array([['[0.7856142  0.77921445 0.8273963  0.86992871 0.82833104 0.80677249\n 0.8410951  0.90299239 0.82401068 0.78761172 0.81294067 0.81446944]']],
      dtype=object)

Это одна из данных, которые я получил из df.iloc []. Values ​​из cell.Spyder Variable Explorer говорит: Тип: ndarray объект numpy.Я хочу преобразовать в правильный массив чисел.Как я это сделаю?Я использовал p1=np.asfarray(p[1:2],float) и p1=pd.to_numeric(p[1:2], downcast = 'float') Это показывает повышение TypeError.

1 Ответ

0 голосов
/ 01 июня 2018

Я бы, вероятно, использовал бы понимание списка:

In [11]: [[float(x) for x in item[1:-1].split()] for row in a for item in row]
Out[11]:
[[0.7856142,
  0.77921445,
  0.8273963,
  0.86992871,
  0.82833104,
  0.80677249,
  0.8410951,
  0.90299239,
  0.82401068,
  0.78761172,
  0.81294067,
  0.81446944]]

В будущем вы можете использовать сериализацию JSON, а не строку из значений .values.Например:

In [21]: df = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"])

In [22]: df.to_json()
Out[22]: '{"A":{"0":1,"1":3},"B":{"0":2,"1":4}}'

таким образом вы можете pd.read_json на другой стороне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...