почему функция карты удаляет столбец из кадра данных - PullRequest
0 голосов
/ 20 октября 2019

У меня есть CSV-файл

datetime,name
20-10-2019 14:55,a
19-10-2019 14:55,b

когда я применяю метод карты, второй столбец пропал

df.info()
#df['datetime'] = df['datetime'].astype(str) # if your object is datatime
df1 = df['datetime'].map(lambda x: x.split(' ')[0])
df1.to_frame()

Мой выход

datetime
0   2019-10-20
1   2019-10-19

Мой ожидаемый вывод включаетимя столбца «имя» также. Есть ли regex, чтобы сделать эту операцию

Ответы [ 2 ]

2 голосов
/ 20 октября 2019
import pandas as pd
df = pd.read_csv('time.csv')
#df['datetime'] = pd.to_datetime(df.datetime)
#df['datetime'] = df['datetime'].astype(str)
df1 = df['datetime'].map(lambda x: x.split(' ')[0])
df1.to_frame()
df['datetime'] = df['datetime'].map(lambda x: x.split(' ')[0])

import re

def split_it(year):
    return re.findall('(\d\d\d\d)', year)

df['datetime'] = df['datetime'].apply(split_it)
0 голосов
/ 20 октября 2019

Дело не в том, что карта удалила столбец или столбец был удален вообще. Вы просто выбрали один столбец в вашем фрейме данных, так что в итоге вы получите.

Попробуйте

df['datetime'] = df['datetime'].map(...)

, чтобы вместо этого обновить столбец datetime в исходном фрейме данных.

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