我有一个原创的Pandasdf:
import pandas as pd
import numpy as np
original_to_insert = pd.DataFrame({'col1': [10, 10, 10],
'col2': [10, 10, 10],
'col3': [10, 10, 10]})
我只想在一列中进行更改,具体的一列应使用另一列进行更改:
df_true_false_dummies = pd.DataFrame({'col1': [1, 0, 1],
'col2': [0, 1, 0],
'col3': [0, 0, 0]})
我有每行要更改的特定值+惩罚:
value_to_add = np.array([5, 4, 2])
penalty = 0.95
因此,我将获得所需的输出(要更改的列由 df_true_false_dummies
df:
desired_df = pd.DataFrame({'col1': [10 + 5 * penalty, 10, 10 + 2 * penalty],
'col2': [10, 10 + 4 * penalty, 10],
'col3': [10, 10, 10]})
提前谢谢!
1条答案
按热度按时间kadbb4591#
您可以选择多个
value_to_add
具有df_true_false_dummies
通过广播,多个penalty
最后在中添加原始值original_to_insert
:注意-两个 Dataframe 中的索引和列必须相同。还有长度
value_to_add
必须与每个 Dataframe 的长度相同。