反转 DataFrame 中的单列

Nul*_*yte 9 python list dataframe pandas

我确实有一个 DataFrame mxn 并且想以与列表翻转类似的方式翻转一列,例如:

list1 = [1,2,3,4]
list2 = list1[::1]
Run Code Online (Sandbox Code Playgroud)

所以 list2 看起来像这样:[4,3,2,1]

如何将类似于 DataFrame 的内容应用于列,但保持所有行和其他列的顺序,以便我仅翻转单列中的值:

例如

df1 =

    col1    col2
1    cat     1
2    dog     2
3    fish    3
4    bird    4
5    mouse   5
Run Code Online (Sandbox Code Playgroud)

至 df2

    col1    col2
1    cat     5
2    dog     4
3    fish    3
4    bird    2
5    mouse   1
Run Code Online (Sandbox Code Playgroud)

cs9*_*s95 13

最简单的方法是:

df.col2 = df.col2.values[::-1]
df

    col1  col2
1    cat     5
2    dog     4
3   fish     3
4   bird     2
5  mouse     1
Run Code Online (Sandbox Code Playgroud)

或者,使用df.assign(返回副本,不如就地赋值高效):

df2 = df.assign(col2=df.col2.values[::-1])
df2

    col1  col2
1    cat     5
2    dog     4
3   fish     3
4   bird     2
5  mouse     1
Run Code Online (Sandbox Code Playgroud)