【发布时间】:2019-05-31 09:27:36
【问题描述】:
我正在使用 pandas 创建一个 4x4 数据框,并尝试使用 print(df.iloc[:][2:]) 打印包含所有行数据的最后 2 列,但是它正在打印最后两行和所有列 - 与 print(df.iloc[2:][:]) 相同。我是否误解了控制台如何解释括号和冒号?
这是我正在执行的代码:
import pandas as pd
import numpy as np
data1 = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12],
[13, 14, 15, 16]])
index = ['Worst', 'Index', 'Ever', 'Dude']
columns = ['Best', 'Columns', 'Today', 'Bro']
sick_df = pd.DataFrame(data = data1, index = index, columns = columns)
print(sick_df)
print('\n', sick_df.iloc[:][2:])
这是上面代码的输出:
Best Columns Today Bro
Worst 1 2 3 4
Index 5 6 7 8
Ever 9 10 11 12
Dude 13 14 15 16
Best Columns Today Bro
Ever 9 10 11 12
Dude 13 14 15 16
我期待第二种打印方法显示所有四行和最后两列。这个输出是我期望从print('\n', sick_df.iloc[2:][:]) 得到的,事实上,当我将第二个打印方法更改为这一行时,我得到了完全相同的输出。
【问题讨论】:
-
df.iloc[:,2:]
标签: python-3.x pandas dataframe indexing