我認爲你需要numpy.r_
爲concanecate指數:
new_df = my_df.iloc[:, np.r_[1:9, 11:21, 10]]
樣品:
np.random.seed(100)
my_df = pd.DataFrame(np.random.randint(10, size=(3,30)))
new_df = my_df.iloc[:, np.r_[1:9, 11:21, 10]]
print (new_df)
1 2 3 4 5 6 7 8 11 12 13 14 15 16 17 18 19 20 10
0 8 3 7 7 0 4 2 5 2 1 0 8 4 0 9 6 2 4 2
1 7 0 2 9 9 3 2 5 0 7 6 2 0 8 2 5 1 8 1
2 6 3 4 7 6 3 9 0 5 7 6 6 2 4 2 7 1 6 4
new_df = my_df.iloc[:, np.r_[1:10, 11:22, 10]]
print (new_df)
1 2 3 4 5 6 7 8 9 11 ... 13 14 15 16 17 18 19 20 \
0 8 3 7 7 0 4 2 5 2 2 ... 0 8 4 0 9 6 2 4
1 7 0 2 9 9 3 2 5 8 0 ... 6 2 0 8 2 5 1 8
2 6 3 4 7 6 3 9 0 4 5 ... 6 6 2 4 2 7 1 6
21 10
0 1 2
1 1 1
2 6 4
[3 rows x 21 columns]
解決方案與range
:
a = list(range(1,10)) + list(range(11,22)) + [10]
new_df = my_df.iloc[:, a]
print (new_df)
1 2 3 4 5 6 7 8 9 11 ... 13 14 15 16 17 18 19 20 \
0 8 3 7 7 0 4 2 5 2 2 ... 0 8 4 0 9 6 2 4
1 7 0 2 9 9 3 2 5 8 0 ... 6 2 0 8 2 5 1 8
2 6 3 4 7 6 3 9 0 4 5 ... 6 6 2 4 2 7 1 6
21 10
0 1 2
1 1 1
2 6 4
[3 rows x 21 columns]
它凸顯了指數。 – jezrael
知道了,謝謝! –
有一件事 - 'iloc'刪除最後的索引'9','21',你需要它嗎? – jezrael