Сохранять один элемент в фрейме данных списков - PullRequest
0 голосов
/ 13 июля 2020

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

  Movement Distance     Speed   Delay    Loss
0   [1, 1]   [1, 1]  [25, 25]  [0, 0]  [0, 0]
1   [1, 1]   [1, 1]  [25, 25]  [0, 0]  [0, 0]
2   [1, 1]   [1, 1]  [25, 25]  [0, 0]  [0, 0]
3   [1, 1]   [1, 1]  [25, 25]  [0, 0]  [0, 0]
4   [1, 1]   [1, 1]  [25, 25]  [0, 0]  [0, 0]

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

  Movement Distance     Speed   Delay    Loss
0   1      1            25      0        0
1   1      1            25      0        0
2   1      1            25      0        0
3   1      1            25      0        0
4   1      1            25      0        0

1 Ответ

3 голосов
/ 13 июля 2020

Вы можете apply с str.slice или эквивалентным индексированием как:

df.apply(lambda x: pd.to_numeric(x.str[0], downcast='integer', errors='ignore'))

Или, если данные уже чистые, мы имеем convert_dtypes новое в pandas 1.0 (спасибо cs95):

df.apply(lambda x: x.str[0]).convert_dtypes()

   Movement  Distance  Speed  Delay  Loss
0         1         1     25      0     0
1         1         1     25      0     0
2         1         1     25      0     0
3         1         1     25      0     0
4         1         1     25      0     0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...