例如,如果我有一个包含 A - Z 列的数据框。
我想对“J”列进行切片并取回除“J”列之外的所有 A - Z 列。
我想对 A - Z 之间的所有列进行切片,并且只返回“J”列
提前致谢
最佳答案
我认为你可以使用DataFrame.pop
,对于返回 J
列,需要通过 Series.to_frame
将 Series
转换为 DataFrame
:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,5],
'J':[5,3,6],
'F':[7,4,3]})
print (df)
A B C D F J
0 1 4 7 1 7 5
1 2 5 8 3 4 3
2 3 6 9 5 3 6
print (df.pop('J'))
0 5
1 3
2 6
Name: J, dtype: int64
dfJ = df.pop('J').to_frame()
print (dfJ)
J
0 5
1 3
2 6
print (df)
A B C D F
0 1 4 7 1 7
1 2 5 8 3 4
2 3 6 9 5 3
<小时/>
另一个解决方案:
cols = [col for col in df.columns if col != 'J']
print (df[cols])
A B C D F
0 1 4 7 1 7
1 2 5 8 3 4
2 3 6 9 5 3
print (df[['J']])
J
0 5
1 3
2 6
关于python - Python 数据框中的多重切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40543363/