我想根据另一列的值为熊猫数据框设置一个值。简而言之,例如,如果我想设置熊猫数据框my_column
的列pd
的索引,而另一列my_interesting_column
在10到30之间,我想这样做像这样:
start_index=pd.find_closest_index_where_pd["my_interesting_column"].is_closest_to(10)
end_index=pd.find_closest_index_where_pd["my_interesting_column"].is_closest_to(30)
pd["my_column"].between(star_index, end_index)= some_value
作为一个简单的例子,假设我有以下数据框
df = pd.DataFrame(np.arange(10, 20), columns=list('A'))
df["B"]=np.nan
>>> df
A B
0 10 NaN
1 11 NaN
2 12 NaN
3 13 NaN
4 14 NaN
5 15 NaN
6 16 NaN
7 17 NaN
8 18 NaN
9 19 NaN
我该怎么做
df.where(df["A"].is_between(13,16))= 5
这样最终结果看起来就像
>>> df
A B
0 10 NaN
1 11 NaN
2 12 NaN
3 13 5
4 14 5
5 15 5
6 16 5
7 17 NaN
8 18 NaN
9 19 NaN
答案 0 :(得分:0)
pd.loc[start_idx:end_idx, 'my_column'] = some_value
我认为这就是您要寻找的
df.loc[(df['A'] >= 13) & (df['A'] <= 16), 'B'] = 5