我希望能够根据第一列的值可变地更改列值。
假设我有一个 Dataframe ,如下所示:
col_ind col_1 col_2 col_3
3 a b c
2 d e f
1 g h i
我实际上是想
df.loc[:, df.columns[-df['col_ind']:]] = np.nan
这将导致:
col_ind col_1 col_2 col_3
3 nan nan nan
2 d nan nan
1 g h nan
4条答案
按热度按时间jmp7cifd1#
让我们使用广播来检查可以屏蔽的索引
结果
xdyibdwo2#
你可以得到
df["col_ind"]
的values
,迭代它们,并将slice
设置为np.nan
:relj7zay3#
您可以将
apply
与result_type='broadcast'
一起使用。(编辑:借用@marcelo-paco的代码)这将给予:
2q5ifsrm4#
您可以使用当前列的切片创建新列,然后替换