为什么 map 函数从数据框中删除列

我有一个 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做这个操作


绝地无双
浏览 132回答 2
2回答

holdtom

并不是 map 删除了一个列,或者根本没有删除一个列。您只需从数据框中选择一列,这就是您最终得到的。尝试df['datetime'] = df['datetime'].map(...)改为更新原始数据框中的日期时间列。

30秒到达战场

import pandas as pddf = 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 redef split_it(year):    return re.findall('(\d\d\d\d)', year)df['datetime'] = df['datetime'].apply(split_it)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python