当前位置: 首页 > 面试题库 >

按日期对熊猫数据框进行排序

颜文康
2023-03-14
问题内容

我有一个熊猫数据框,如下所示:

Symbol  Date
A       02/20/2015
A       01/15/2016
A       08/21/2015

我想按它排序Date,但该列只是一个object

我试图将列设置为日期对象,但是遇到了一种格式不需要的格式的问题。所需的格式为2015-02-20,等。

因此,现在我试图找出如何使numpy将“美国”日期转换为ISO标准,以便可以使它们成为日期对象,以便可以对它们进行排序

我该如何将这些美国日期转换为ISO标准,或者我在熊猫中缺少更直接的方法?


问题答案:

您可以pd.to_datetime()用来转换为日期时间对象。它带有一个format参数,但是在您的情况下,我认为您不需要它。

>>> import pandas as pd
>>> df = pd.DataFrame( {'Symbol':['A','A','A'] ,
    'Date':['02/20/2015','01/15/2016','08/21/2015']})
>>> df
         Date Symbol
0  02/20/2015      A
1  01/15/2016      A
2  08/21/2015      A
>>> df['Date'] =pd.to_datetime(df.Date)
>>> df.sort('Date') # This now sorts in date order
        Date Symbol
0 2015-02-20      A
2 2015-08-21      A
1 2016-01-15      A

为了将来搜索,您可以更改sort语句:

>>> df.sort_values(by='Date') # This now sorts in date order
        Date Symbol
0 2015-02-20      A
2 2015-08-21      A
1 2016-01-15      A


 类似资料:
  • 问题内容: 我想对以下数据框进行排序: 我想对它进行排序,以便根据列表对LSE列进行重新排序: 当然,其他列也需要相应地重新排序。有没有办法在熊猫里做到这一点? 问题答案: pandas0.15版中对s的改进支持使您可以轻松做到这一点: 如果这只是临时排序,则可能不希望将LSE列保留为a ,但是如果您希望这种排序能够在不同的上下文中使用几次,则是一个很好的解决方案。 在更高版本的,中,已被替换为,

  • 问题内容: 我有一个具有以下内容的Series对象: 问题陈述: 我想按月显示它,并计算每个月的平均价格,然后按月以排序的方式显示它。 所需输出: 我想到了制作列表并将其传递给sort函数的方法: 但是 sort_values 不支持序列化。 我有一个大问题是,即使 最初可以工作,但是在我做完之后,它并不能保持排序后的顺序。 总而言之,我需要从初始数据帧起这两列。对datetime列进行排序,并使

  • 问题内容: 我有一个简单的数据框,我想每3行进行装箱。 看起来像这样: 我想把它变成这样: 你能帮我吗? 非常感谢! 问题答案: 在Python 2中使用:

  • 问题内容: 我有一个从以下代码获得的数据框,但无法将索引转换为dd / mm / yyyy 这是结果 我已经在stackoverflow上搜索了其他几个不同的变体,但是我找不到适合的组合。 它仍然打印出as 问题答案: 如果需要则是个问题,因为是in的默认显示格式。 如果需要通过索引: 不幸的是,这不起作用-docs:

  • 问题内容: 我有一个包含一个称为的对象的数组,它具有诸如“日期”,“名称”等属性。 我正在对数组进行排序,如下所示: 应该将日期从新到旧排序。例如: 2016年6月30日 2016年6月29日 等等.. 但是,当我的数组包含“ 2016年7月2日”时,排序后的数组将变为: 2016年6月30日 2016年6月29日 2016年7月2日 排序后,“ 2016年7月2日”应该位于顶部,而现在位于底部?

  • 问题内容: 我注意到程序中存在一个错误,发生该错误的原因是因为熊猫似乎是通过引用熊猫数据框而不是通过值进行复制。我知道不可变对象将始终通过引用传递,但pandas数据帧不是不可变的,因此我不明白为什么它通过引用传递。谁能提供一些信息? 谢谢!安德鲁 问题答案: Python中的所有函数都是“按引用传递”,没有“按值传递”。如果要显式复制pandas对象,请尝试。