刚好看到这个问题顺手解答一下
首先,对于你导入的数据的习惯我表示很不能理解。
你可以自己看看自己DataFrame里面,你这样做测试的数据前面会有一堆空格。
你的数据并不是'01/02/1965'而是' 01/02/1965',这种存储的格式除非你有特别需求不然会导致后面的操作出现一堆的麻烦。
接下说给你提供两个解决办法:
第一个是笨方法,但是可以帮助你理解做替换的逻辑。
import pandas as pd
# Specify Data
Data = ['05/09/2000','11/27/1995','05/27/2020']
df = pd.DataFrame()
df['time'] = Data
# Replace
for i in df['time']:
new_value = i.replace('/',' ')
df['time'].replace(i,new_value,inplace=True)
# Test
print(df)
在这种方法里面,他的基本逻辑就是我们去迭代 'time' 这一列中的每一个数据,然后根据python中字符串的内置 'replace' 方法来进行替换,然后使用Pandas中的replace方法,将旧值(i)变成新的值(new_value),当你面对大量的数据时候这将是一种占用大量内存的方法,不过日常需求不用考虑。
第二个是简单方法。
import pandas as pd
# Specify Data
Data = ['05/09/2000','11/27/1995','05/27/2020']
df = pd.DataFrame()
df['time'] = Data
# Replace
df = df.replace({'/':' '},regex=True)
# Test
print(df)
这种方法其实用到你刚才定义的那种数据格式里面也是可以的,说白了就是对于pandas的replace的使用没有搞清楚,你从第一种方法也能够看出来df.replace('value1', 'value2')这种使用方法的意义是将整个df中的为value1的单元格全部替换成value2,而这种匹配规则并不符合你的实际需求。
综上,就是这样。
刚好看到是个日期,就写了女朋友的生日 自己的生日 在一起的时间。
今天在一起的,做个小小的纪念。