我的数据集看起来像这样(第一行是标题)
0 1 2 3 4 5
1 3 4 6 2 3
3 8 9 3 2 4
2 2 3 2 1 2
我想根据列[5]选择数据集的一系列列,例如:
1 3 4
3 8 9 3
2 2
我尝试了以下方法,但它无效:
df.iloc[:,0:df['5'].values]
答案 0 :(得分:2)
让我们试试:
df.apply(lambda x: x[:x.iloc[5]], 1)
输出:
0 1 2 3
0 1.0 3.0 4.0 NaN
1 3.0 8.0 9.0 3.0
2 2.0 2.0 NaN NaN
答案 1 :(得分:2)
重新创建数据框
df=pd.DataFrame([x[:x[5]] for x in df.values]).fillna(0)
df
Out[184]:
0 1 2 3
0 1 3 4.0 0.0
1 3 8 9.0 3.0
2 2 2 0.0 0.0