Python 如何在不更改值顺序的情况下按索引反转系列

Python 如何在不更改值顺序的情况下按索引反转系列,python,pandas,dataframe,date,series,Python,Pandas,Dataframe,Date,Series,现在我有一个熊猫系列,看起来像: 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

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

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
如何在不改变值顺序的情况下反转整个序列,使最新日期位于第一行?让每个索引和值粘在一起

让df成为您的数据:

df = df.to_frame().reset_index()
date_vals = df.Date.values
df['Date'] = date_vals[::-1]
让df成为您的数据:

df = df.to_frame().reset_index()
date_vals = df.Date.values
df['Date'] = date_vals[::-1]
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]
要反转日期索引,但将数据值保留在同一位置,可以执行以下操作:

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)
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]
要反转日期索引,但将数据值保留在同一位置,可以执行以下操作:

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)

这需要更新才能工作。日期是索引,因此在从系列转换为.to_帧时,它不会是列。因此,您不能用df.Date引用它,但您需要访问索引。我明白了,然后您可以执行df.to_frame.reset_index,它将日期作为列值,并处理它需要更新才能工作。日期是索引,因此在从系列转换为.to_帧时,它不会是列。因此,您不能使用df.Date引用它,但您需要访问索引。我知道,然后您可以执行df.to_frame.reset_index,它将日期作为列值并处理。如果其中一个回答了您的问题,请接受最正确的答案如果其中一个回答了您的问题,请接受最正确的答案