【发布时间】:2021-09-27 14:04:07
【问题描述】:
我有一个包含 2 个文本列的数据框(数据是从 excel 导入的,我使用的是 anaconda pandas v. 1.2.5,FWIW):
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Client Name: Trading Name 169532 non-null object
1 Policy Number 166950 non-null object
我想检查行是否唯一(即没有重复的组合)。所以我跑了:
ops_uniq_cols = ['Client Name: Trading Name', 'Policy Number']
ops_u.groupby(ops_uniq_cols).size()
我得到错误:
TypeError: '<' not supported between instances of 'datetime.time' and 'int'
这是怎么回事?两列都不是时间或整数。
更新,这里是一些示例数据:
Client Name: Trading Name Policy Number
24419 Y Corporation 9742EA|BC0697|1
37963 PERFORMANCE LIMITED Y13333120A
14411 B KEN 56A439MVA
133801 Mutua 69285
109983 DANIEL & CO Y1212E0720A
在我看来,这些都不像日期时间。
【问题讨论】:
-
如果您添加这样的聚合器列会发生什么:
ops_u.groupby(ops_uniq_cols)['Client Name: Trading Name'].size()? -
当我运行:
ops_u.groupby(ops_uniq_cols)['Client Name: Trading Name'].size(),我仍然得到同样的错误:( -
ops_uniq_cols中哪一个是 time like 专栏? -
嗨@AnuragDabas,据我所知,他们都没有,这是一个示例(更改了一些名称)
-
试试
df.applymap(lambda x:type(x).__name__).eq("time").any()看看它会返回什么