I have a large DataFrame, something like
import pandas as pd
sqldate = pd.Series(["2014-0-1", "2015-10-10", "1990-23-2"])
pdf = pd.Series(["2014.pdf", "2015.pdf", "1999.pdf"])
df = pd.DataFrame({"sqldate":sqldate, "pdf": pdf})
我想创建一个布尔列,指示sqldate的年份是否与pdf名称的年份相同。
另一种情况是使用for循环很容易实现,但我想通过向量化来使它更快/更清晰。但我无法找到方法。
我尝试了更简单的方法,甚至只是创建一个df ['newcol']并尝试从日期中剥离左侧的四个字符。像df ['newcol'] = df ['sqldate'] [0:4],但失败了。它只会使newcol的前四行等于sqldate,其余行为NaN,因为它将[0:4]解释为索引选择器。
有没有更优雅,向量化的方式在数据框上使用操作后的字符串值?