Panda Numpy преобразует данные в столбец - PullRequest
0 голосов
/ 26 октября 2018

У меня есть результат данных, который при печати выглядит так:

  >>>print(result)

   [[0]
    [1]
    [0]
    [0]
    [1]
    [0]]

Я думаю, это примерно так же, как [[0] [1] [0] [0] [1] [0]] что немного странно [0,1,0,0,1,0] кажется более логичным представлением, но почему-то это не так.

Хотя я бы хотел, чтобы эти значения были добавлены в виде одного столбцак кадру данных Panda df

Я пробовал несколько способов присоединить его к моему кадру данных:

 df = pd.concat(df,result)
 df = pd.concat(df,{'result' =result})
 df['result'] =pd.aply(result, axis=1)

без удачи.Как я могу это сделать?

Ответы [ 4 ]

0 голосов
/ 26 октября 2018

Существует несколько способов сгладить ваши данные:

df = pd.DataFrame(data=np.random.rand(6,2))

result = np.array([0,1,0,0,1,0])[:, None]
print (result)
[[0]
 [1]
 [0]
 [0]
 [1]
 [0]]


df['result'] = result[:,0]
df['result1'] = result.ravel()
#df['result1'] = np.concatenate(result)

print (df)
          0         1  result  result1
0  0.098767  0.933861       0        0
1  0.532177  0.610121       1        1
2  0.288742  0.718452       0        0
3  0.520980  0.367746       0        0
4  0.253658  0.011994       1        1
5  0.662878  0.846113       0        0
0 голосов
/ 26 октября 2018

Пока число точек данных в этом списке совпадает с количеством строк в кадре данных, это должно работать:

import pandas as pd

your_data = [[0],[1],[0],[0],[1],[0]]

df = pd.DataFrame() # skip and use your own dataframe with len(df) == len(your_data)
df['result'] = [i[0] for i in your_data]
0 голосов
/ 26 октября 2018

Если вы хотите поместить этот массив в столбец таблицы данных pandas в плоском формате, самый простой способ это сделать: df["result"] = sum(result, [])

0 голосов
/ 26 октября 2018

Попробуйте это:

dd = [0,1,0,0,1,0]
In [1291]: df = pd.DataFrame(dd)
In [1291]: df.columns = ['col1']

In [1292]: df
Out[1292]: 
   col1
0  0
1  1
2  0
3  0
4  1
5  0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...