首页 > 解决方案 > 为什么 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做这个操作

标签: pythonregexpandas

解决方案


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)

推荐阅读