【发布时间】:2019-10-08 10:47:42
【问题描述】:
假设我有一个数据框 df 和一个列索引 idx - 然后我可以只使用来自 idx 的列和等于 1 by 的值来获取一个新的数据框
df_1=df[df==1].iloc[idx]
但我想我在某处读过,以这种方式进行切片效率低下,因为第一个 df[df==1] 会生成一个新数据帧,然后对其进行切片。
是不是真的不能一行行,比如
df_1=df[df==1,idx] 或 df_1=df.iloc[df==1,idx]
编辑:添加数据样本
(我知道它看起来像一个 np.array,但它是一个 pd.DataFrame)
df=[[1,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,1]]
预期回报
df_1=[[1,1,0],
[0,0,1]]
【问题讨论】:
-
你能添加一些数据样本吗?
-
现在已经添加了
-
idx是什么? -
上面写着-我要切片的列索引