如何将DataFrame中序列的顺序反转到新列中?

data = [["US Dollar", 7.00],
        ['Euro', 2.00],
        ['British Pound', 4.00],
        ['Indian Rupee', 2.00],
        ['Australian Dollar', 9.00],
        ['Canadian Dollar', 3.00],
        ['Singapore Dollar', 3.00],
        ['Swiss Franc', 5.00]
       ]

df = pd.DataFrame(data, columns=['Currency', 'Order'])

我试着使用loc来做这件事,但这给了我相同的命令.


df['Reverse Order'] = df['Order'].iloc[::-1]
df


#   Currency            Order   Reverse Order
# 0 US Dollar           7.0     7.0
# 1 Euro                2.0     2.0
# 2 British Pound       4.0     4.0
# 3 Indian Rupee        2.0     2.0
# 4 Australian Dollar   9.0     9.0
# 5 Canadian Dollar     3.0     3.0
# 6 Singapore Dollar    3.0     3.0
# 7 Swiss Franc         5.0     5.0

我在试着得到相反的顺序

#   Currency            Order   Reverse Order
# 0 US Dollar           7.0     5.0
# 1 Euro                2.0     3.0
# 2 British Pound       4.0     3.0
# 3 Indian Rupee        2.0     9.0
# 4 Australian Dollar   9.0     2.0
# 5 Canadian Dollar     3.0     4.0
# 6 Singapore Dollar    3.0     2.0
# 7 Swiss Franc         5.0     7.0

推荐答案

将值转换为NumPy数组(因为现在索引与原始数据帧对齐):

df["Reverse Order"] = df.loc[::-1, "Order"].to_numpy()
print(df)

打印:

            Currency  Order  Reverse Order
0          US Dollar    7.0            5.0
1               Euro    2.0            3.0
2      British Pound    4.0            3.0
3       Indian Rupee    2.0            9.0
4  Australian Dollar    9.0            2.0
5    Canadian Dollar    3.0            4.0
6   Singapore Dollar    3.0            2.0
7        Swiss Franc    5.0            7.0

Python相关问答推荐

使用decorator 重复超载

Odoo onchange for invoice_Status of sale事件.订单未触发

为什么我的(工作)代码(生成交互式情节)在将其放入函数中时不再工作?

从今天起的future 12个月内使用Python迭代

列表上值总和最多为K(以O(log n))的最大元素数

更改matplotlib彩色条的字体并勾选标签?

DataFrame groupby函数从列返回数组而不是值

Pandas 有条件轮班操作

在Python Attrs包中,如何在field_Transformer函数中添加字段?

如果值不存在,列表理解返回列表

当独立的网络调用不应该互相阻塞时,'

OR—Tools中CP—SAT求解器的IntVar设置值

Pandas:将多级列名改为一级

Python+线程\TrocessPoolExecutor

为什么\b在这个正则表达式中不解释为反斜杠

numpy.unique如何消除重复列?

Python—转换日期:价目表到新行

跳过嵌套JSON中的级别并转换为Pandas Rame

如何从pandas DataFrame中获取. groupby()和. agg()之后的子列?

pandas fill和bfill基于另一列中的条件