【问题标题】:how to reverse a pandas series by index without changing values order如何在不更改值顺序的情况下按索引反转熊猫系列
【发布时间】:2020-09-19 02:59:17
【问题描述】:

现在我有一个熊猫系列看起来像:

Date
2020-01-02    74.573036
2020-01-03    73.848030
2020-01-06    74.436470
2020-01-07    74.086395
2020-01-08    75.278160
2020-01-09    76.877136
2020-01-10    77.050926
2020-01-13    78.697075
2020-01-14    77.634407
2020-01-15    77.301704
2020-01-16    78.270020
2020-01-17    79.136551
2020-01-21    78.600250
2020-01-22    78.880821
2020-01-23    79.260696
2020-01-24    79.032265
2020-01-27    76.708298
2020-01-28    78.878326
2020-01-29    80.529434
2020-01-30    80.412743
2020-01-31    76.847343
2020-02-03    76.636299
2020-02-04    79.166336
2020-02-05    79.811897
2020-02-06    80.745445
2020-02-07    79.647896
2020-02-10    80.026192
2020-02-11    79.543365
2020-02-12    81.432350
2020-02-13    80.852463
2020-02-14    80.872375
2020-02-18    79.391556
2020-02-19    80.541367
2020-02-20    79.715088
2020-02-21    77.910744
2020-02-24    74.209946
2020-02-25    71.696297
2020-02-26    72.833664
2020-02-27    68.072662
2020-02-28    68.032837

如何反转整个系列以让最新日期位于第一行而不改变值的顺序? (让每个索引和值粘在一起)

【问题讨论】:

  • 如果其中一个回答了您的问题,请接受最正确的答案

标签: python pandas dataframe date series


【解决方案1】:

df 成为您的数据:

df = df.to_frame().reset_index()
date_vals = df.Date.values
df['Date'] = date_vals[::-1]

【讨论】:

  • 这需要更新才能工作。日期是索引,因此当使用 .to_frame() 从系列转换时,它不会是列。因此,不能用df.Date引用它,但需要访问索引。
  • 我明白了,那么您可以执行df.to_frame().reset_index(),它将日期作为列值并继续
【解决方案2】:

ds 是你的熊猫系列。您想反转日期索引并将值与其日期保持一致(索引和值粘在一起),那么您可以这样做:

ds = ds[::-1]
# This is shorthand for taking all the dates but you can take specific dates like this
ds['2020-01-07':'2020-01-02':-1]

要反转日期索引但将数据值保留在同一位置,您可以这样做:

ds.index = ds.index.values[::-1]

只反转数据值而不是日期索引:

# Use this to update but sometimes I had issues using this
ds.update(ds.values[::-1])
# or you can do this instead and recreate the series if it doesn't work
ds = pd.Series(ds.values[::-1], ds.index)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2017-12-19
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多