Python 如何删除数据帧最后一列中的第一个值,然后删除剩余的最后一行?

Python 如何删除数据帧最后一列中的第一个值,然后删除剩余的最后一行?,python,pandas,Python,Pandas,下面我使用pandas读取以下格式的csv文件: dataframe = pandas.read_csv("test.csv", header=None, usecols=range(2,62), skiprows=1) dataset = dataframe.values 如何删除数据框最后一列中的第一个值,然后删除数据框中的最后一行 有什么想法吗?您可以将最后一列向上移动以删除第一个值,然后删除最后一行 df.assign(E=df.E.shift(-1)).drop(df.index[-

下面我使用pandas读取以下格式的csv文件:

dataframe = pandas.read_csv("test.csv", header=None, usecols=range(2,62), skiprows=1)
dataset = dataframe.values
如何删除数据框最后一列中的第一个值,然后删除数据框中的最后一行


有什么想法吗?

您可以将最后一列向上移动以删除第一个值,然后删除最后一行

df.assign(E=df.E.shift(-1)).drop(df.index[-1])
MVCE:

输出:

    A   B   C   D   E
0  91  83  40  17  94
1  61   5  43  87  48
2   3  69  73  15  85
3  99  53  18  95  45
4  67  30  69  91  28
5  25  89  14  39  64
6  54  99  49  44  73
7  70  41  96  51  68
8  36   3  15  94  61
9  51   4  31  39   0

df.assign(E=df.E.shift(-1)).drop(df.index[-1]).astype(int)
    A   B   C   D   E
0  91  83  40  17  48
1  61   5  43  87  85
2   3  69  73  15  45
3  99  53  18  95  28
4  67  30  69  91  64
5  25  89  14  39  73
6  54  99  49  44  68
7  70  41  96  51  61
8  36   3  15  94   0
输出:

    A   B   C   D   E
0  91  83  40  17  94
1  61   5  43  87  48
2   3  69  73  15  85
3  99  53  18  95  45
4  67  30  69  91  28
5  25  89  14  39  64
6  54  99  49  44  73
7  70  41  96  51  68
8  36   3  15  94  61
9  51   4  31  39   0

df.assign(E=df.E.shift(-1)).drop(df.index[-1]).astype(int)
    A   B   C   D   E
0  91  83  40  17  48
1  61   5  43  87  85
2   3  69  73  15  45
3  99  53  18  95  28
4  67  30  69  91  64
5  25  89  14  39  73
6  54  99  49  44  68
7  70  41  96  51  61
8  36   3  15  94   0
或者分两步进行:

df[df.columns[-1]] = df[df.columns[-1]].shift(-1)
df = df[:-1]

可以将最后一列上移以删除第一个值,然后删除最后一行

df.assign(E=df.E.shift(-1)).drop(df.index[-1])
MVCE:

输出:

    A   B   C   D   E
0  91  83  40  17  94
1  61   5  43  87  48
2   3  69  73  15  85
3  99  53  18  95  45
4  67  30  69  91  28
5  25  89  14  39  64
6  54  99  49  44  73
7  70  41  96  51  68
8  36   3  15  94  61
9  51   4  31  39   0

df.assign(E=df.E.shift(-1)).drop(df.index[-1]).astype(int)
    A   B   C   D   E
0  91  83  40  17  48
1  61   5  43  87  85
2   3  69  73  15  45
3  99  53  18  95  28
4  67  30  69  91  64
5  25  89  14  39  73
6  54  99  49  44  68
7  70  41  96  51  61
8  36   3  15  94   0
输出:

    A   B   C   D   E
0  91  83  40  17  94
1  61   5  43  87  48
2   3  69  73  15  85
3  99  53  18  95  45
4  67  30  69  91  28
5  25  89  14  39  64
6  54  99  49  44  73
7  70  41  96  51  68
8  36   3  15  94  61
9  51   4  31  39   0

df.assign(E=df.E.shift(-1)).drop(df.index[-1]).astype(int)
    A   B   C   D   E
0  91  83  40  17  48
1  61   5  43  87  85
2   3  69  73  15  45
3  99  53  18  95  28
4  67  30  69  91  64
5  25  89  14  39  73
6  54  99  49  44  68
7  70  41  96  51  61
8  36   3  15  94   0
或者分两步进行:

df[df.columns[-1]] = df[df.columns[-1]].shift(-1)
df = df[:-1]