1 回答

TA贡献1824条经验 获得超8个赞
您只能使用表达式。请参阅 python文档。
只需将它括在括号中,python 解释器就会很高兴。
lambda x: (x.split('\\')[0]) & (pd.to_datetime(x, yearfirst=True) > pd.to_datetime('2004-06-23',yearfirst=True)))
但是,您正在将函数应用于相应的表“LastWriteTime”和“FullName”,函数更适合。创建多个评估函数并将其与相应的键存储在字典中,并传递给 aggregate()。
def check_date(x):
return pd.to_datetime(x) > pd.to_datetime('2004-06-23', yearfirst=True)
def files_count(x):
return x.split('\\')[0]
df1 = pd.DataFrame(data)
func_dict = {'FullName': files_count, 'LastWriteTime': check_date}
df4 = df1.aggregate(func_dict) # applying multiple function to multiple columns
print(df4, end='\n'*2)
# use df[df['a']] & df[df['b']] for filtering.
df3_filtered = df4[df4['LastWriteTime']] # filtering.
print(df3_filtered, end='\n'*2)
df2 = df3_filtered['FullName'].value_counts() # counting.
print(df2)
结果:
FullName LastWriteTime
0 dog False
1 feline False
2 dog True
3 mouse True
4 anteater True
5 dog True
FullName LastWriteTime
2 dog True
3 mouse True
4 anteater True
5 dog True
dog 2
anteater 1
mouse 1
Name: FullName, dtype: int64
添加回答
举报