python - 从日期列表中删除单词 DateTimeIndex

标签 python pandas list datetime

我在 pandas 数据框中有多个以下格式的日期列表:

col1                       col2
1                          [DatetimeIndex(['2018-10-01', '2018-10-02', 
                           '2018-10-03', '2018-10-04'],
                            dtype='datetime64[ns]', freq='D')

我想去掉 DatetimeIndexdtype='datetime64[ns]', freq='D' 并将列表变成一个集合。我要寻找的格式是: {'2018-10-01', '2018-10-02', '2018-10-03', '2018-10-04}

最佳答案

Pandas 的设计目的不是为了保存系列值内的集合,因此强烈建议不要这样做。更好的想法是加入额外的列,尤其是在每个 DatetimeIndex 系列值中具有一致数量的值时:

D = pd.DatetimeIndex(['2018-10-01', '2018-10-02', '2018-10-03', '2018-10-04'],
                     dtype='datetime64[ns]', freq='D')

df = pd.DataFrame({'col1': [1], 'col2': [D]})

df = df.join(pd.DataFrame(df.pop('col2').values.tolist()))

print(df)

   col1          0          1          2          3
0     1 2018-10-01 2018-10-02 2018-10-03 2018-10-04
<小时/>

如果您确实想要一个set作为每个系列值,您可以通过map + set来实现:

df['col2'] = list(map(set, df['col2'].values))

print(df)

   col1                                               col2
0     1  {2018-10-01 00:00:00, 2018-10-02 00:00:00, 201...

关于python - 从日期列表中删除单词 DateTimeIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52607438/

相关文章:

python - 使用 pandas 绘图时,图例仅显示一个标签

python - 仅保留 Pandas 多索引中单个索引的最后一个值(drop_duplicates)

python - 如何有效地从边列表创建邻接列表

python - 有没有办法更有效地遍历 pandas 数据框中的行?

python - 结合 apply 和append 将一行追加 N 次到 Pandas DF 中

scala - 列表的第二个元素

python - 当在editingFinished事件中执行对话框时,QlineEdit的editingFinished被第二次发出

python - 如何在编辑表单中更改 ImageField 的 html 模板?

python - 计算字典列表中某个值的出现次数

Python 将多个列表与交集合并