Python 如何删除数据帧最后一列中的第一个值,然后删除剩余的最后一行?
下面我使用pandas读取以下格式的csv文件: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[-
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]