我有两个日期时间列:
col1 = [2019-01-01 03:00:00,
2019-01-01 03:01:00,
2019-01-01 03:02:00]
col2 = [2019-01-01 02:59:00,
2019-01-01 03:00:00,
2019-01-01 03:01:00,
2019-01-01 03:02:00,
2019-01-01 03:03:00]
每个都具有[0,1,2]和[0,1,2,3,4]的索引。
所以,我想得到的是[1,2,3],它是col2的索引(与col1重叠的元素)。
以下是我的代码,它不起作用:
ind = []
for x in range(len(col1)):
rw = np.where(col2 == col1[x])
ind.append(int(rw[0]))
有没有简单的方法来解决这个问题?
Oneliner使用enumerate:
[i for i, t in enumerate(col2) if t in col1]
您还可以使用pandas.Series.isin:
import pandas as pd
col1 = pd.Series(["2019-01-01 03:00:00",
"2019-01-01 03:01:00",
"2019-01-01 03:02:00"])
col2 = pd.Series(["2019-01-01 02:59:00",
"2019-01-01 03:00:00",
"2019-01-01 03:01:00",
"2019-01-01 03:02:00",
"2019-01-01 03:03:00"])
col2.index[col2.isin(col1)].tolist()
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。