反转DataFrame中的单个列

时间:2017-09-15 16:44:51

标签: python list pandas dataframe

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

list1 = [1,2,3,4]
list2 = list1[::1]

所以 list2如下所示:[4,3,2,1]

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

e.g。

df1 =

    col1    col2
1    cat     1
2    dog     2
3    fish    3
4    bird    4
5    mouse   5

到df2

    col1    col2
1    cat     5
2    dog     4
3    fish    3
4    bird    2
5    mouse   1

3 个答案:

答案 0 :(得分:3)

最简单的方法是:

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

    col1  col2
1    cat     5
2    dog     4
3   fish     3
4   bird     2
5  mouse     1

或者,使用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

答案 1 :(得分:0)

尝试将此内容与您的数据框相结合。

DF1 [ 'COL2']同上。[:: - 1]

它应该有用。

答案 2 :(得分:0)

你可以这样做:

>>> df1
   0  1  2
0  1  2  3
1  4  5  6
2  7  8  9
>>> df1[0]=df1[0].loc[::-1].reset_index(drop=True)
>>> df1
   0  1  2
0  7  2  3
1  4  5  6
2  1  8  9