如果你想删除一列,应该写 axis=1
import pandas as pd
import numpy as np
d = pd.DataFrame({'x': [1, 2, 3, 4],
'y': [2, 3, 5, 7],
'z': [0, 1, 1, 0]})
print(d)
n = np.array([[1, 2, 0],
[2, 3, 1],
[3, 5, 1],
[4, 7, 0]])
print(n)
Output:
x y z
0 1 2 0
1 2 3 1
2 3 5 1
3 4 7 0
[[1 2 0]
[2 3 1]
[3 5 1]
[4 7 0]]
pandas dataframe
# pandas df drop a column:
d1 = d.drop('x', axis=1) # 是每次操作一个行,操作一整个列
d1
Output:
y z
0 2 0
1 3 1
2 5 1
3 7 0
numpy.array
# numpy array drop a column:
n1 = np.delete(n, 0, axis=1) # 是每次操作一个行,操作一整个列
n1
Output:
array([[2, 0],
[3, 1],
[5, 1],
[7, 0]])
但是我们大学的笔记写:
Many Pandas functions use:
axis=0 column at a time
axis=1 row at a time
它意思是:
axis=0, 是每次操作一个列,操作一整个行
axis=1, 是每次操作一个行,操作一整个列