我正在尝试通过.assign((的方法链pd.to_detime((,但没有成功
这项工作:
tcap2 = tcap.
assign(person = tcap['text'].apply(lambda x: x.split(" ", 1)[0]),
date_time = tcap['text'].str.extract(r'(([^()]+))'),
text = tcap['text'].str.split(': ').str[1])
tcap2['date_time'] = pd.to_datetime(tcap2['date_time'])
但我希望把整个区块放在同一个链上,就像这样:
tcap2 = tcap.
assign(person = tcap['text'].apply(lambda x: x.split(" ", 1)[0]),
date_time = tcap['text'].str.extract(r'(([^()]+))'),
text = tcap['text'].str.split(': ').str[1]).
assign(date_time = lambda df: pd.to_datetime(tcap['date_time']))
我将感谢的任何建议
另请注意,为了避免使用"\"并使这样的链接更可读,可以用括号括起表达式:
tcap = (tcap
.assign(person=tcap['text'].apply(lambda x: x.split(" ", 1)[0]),
date_time=tcap['text'].str.extract(r'(([^()]+))'),
text=tcap['text'].str.split(': ').str[1])
.assign(date_time = lambda tcap: pd.to_datetime(tcap['date_time']))
)
谢谢你,尼皮,你太棒了,只是我的lambda函数(facepalm(有一点变化这绝对是一种享受,只会使代码更加紧凑和可读
tcap = tcap.
assign(person = tcap['text'].apply(lambda x: x.split(" ", 1)[0]),
date_time = tcap['text'].str.extract(r'(([^()]+))'),
text = tcap['text'].str.split(': ').str[1]).
assign(date_time = lambda tcap: pd.to_datetime(tcap['date_time']))