如何在选定的列中将行左移

时间:2019-03-29 16:15:50

标签: python dataframe

我是Python的新手。有一个数据框,我想更改值为“”的行的位置,如下表所示

enter image description here

期望如下:

选择第0列的行=“”并将其向左移动

enter image description here

1 个答案:

答案 0 :(得分:0)

使用numpy roll函数,代码将如下所示:

import numpy as np
import pandas as pd

#sample data
m=[['a','b',' '],[' ','c','d'],[' ','e','f']]
dataframe = pd.DataFrame(m)

#to numpy, roll, and back
v1 = dataframe.values
v2 = np.roll(m,-1,1)
dataframe2 = pd.DataFrame(v2)

#conditional assignment
dataframe.loc[dataframe[0] == ' '] = dataframe2