Преобразование столбца панд с одним списком значений в строки - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть следующий фрейм данных:

  symbol           PSAR
0   AAPL  [nan,100,200]
1   PYPL  [nan,300,400]
2    SPY  [nan,500,600]

Я пытаюсь превратить значения списка PSAR в строки, подобные следующим:

symbol   PSAR

AAPL     nan
AAPL     100
AAPL     200
PYPL     nan
PYPL     300
...      ...
SPY      600

Я пытался решить эту проблему, следуя ответам в этом посте (одно ключевое отличие в том, что у этого поста есть список списка), но я не могу туда добраться. Как преобразовать столбец со списком значений в строки в Pandas DataFrame .

df['PSAR'].stack().reset_index(level=1, drop=True).to_frame('PSAR')
.join(df[['symbol']], how='left')

1 Ответ

0 голосов
/ 01 ноября 2018

Не гладкий, но это делает работу:

list_of_lists = []
df_as_dict = dict(df.values)
for key,values in df_as_dict.items():
    list_of_lists+=[[key,value] for value in values]
pd.DataFrame(list_of_lists)

возвращается:

    0      1
0   AAPL    NaN
1   AAPL    100.0
2   AAPL    200.0
3   PYPL    NaN
4   PYPL    300.0
5   PYPL    400.0
6   SPY     NaN
7   SPY    500.0
8   SPY    600.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...