假设我有一个数据帧df,其列为'A','B','C' 现在我只想提取df的第2行,只提取列'B'和'C'。最有效的方法是什么?
你能否告诉我为什么df.ix [2,['B','C']]不起作用?
谢谢!
答案 0 :(得分:2)
def blocks(img, rows, cols):
h, w = img.shape[:2]
xs = np.uint32(np.rint(np.linspace(0, w, num=cols+1)))
ys = np.uint32(np.rint(np.linspace(0, h, num=rows+1)))
ystarts, yends = ys[:-1], ys[1:]
xstarts, xends = xs[:-1], xs[1:]
for y1, y2 in zip(ystarts, yends):
for x1, x2 in zip(xstarts, xends):
yield img[y1:y2, x1:x2]
OR
row_2 = df[['B', 'C']].iloc[1]
答案 1 :(得分:2)
考虑数据框df
df = pd.DataFrame(np.arange(9).reshape(3, 3), list('xyz'), list('ABC'))
df
A B C
x 0 1 2
y 3 4 5
z 6 7 8
如果您想维护数据框
df.loc[df.index[[1]], ['B', 'C']]
B C
y 4 5
如果你想要一个系列
df.loc[df.index[1], ['B', 'C']]
B 4
C 5
Name: y, dtype: int64