如果ColX的值= 0,则需要在下面有条件地更新ColY。与其他示例的区别在于,我需要用ColX的值代替字符串代替ColY,
当我使用以下代码时,可以使用.loc替换为字符串:
df1.loc[df1.ColX != 0, 'ColY'] = 'Example'
如何用ColX的值替换相关的ColY值?我尝试了以下类似的尝试,但无济于事
df1.loc[df1.ColX != 0, 'ColY'] = df1.ColX
我的原始数据帧df1是:
ID ColX ColY
A 2024 0
B 0 2023
C 2019 0
D 2023 2024
我想要的输出是:
ID ColX ColY
A 2024 2024
B 0 2023
C 2019 2019
D 2023 2023
答案 0 :(得分:2)
为方便起见,我认为这是另一种 cleaner 方法,使用np.where
和.ne
:
$("#add-file").click(function () {
var nextId = $(".file").length;
var rowHtml = '<div class="file">' +
'<label class="control-label">Upload file</label>' +
'<input id="Files_' + nextId + '_" name="Files[' + nextId + ']" type="file" />' +
'</div>';
$("#file-container").append(rowHtml);
});
答案 1 :(得分:1)
echo "Which pc are you using?? <br>";
$pc = file('pc.txt');
$name = ' ';
$name.="<option>Choose please</option>";
foreach ($pc as $type) {
$type = explode(',',$name);
$name .= '<option value="'.$type[0] . '">' . $type[0] . '</option>';
}
$select = '<select name="pc">'.$name.'</select>';
echo $select;
的问题在于,您试图将df1.loc[df1.ColX != 0, 'ColY'] = df1.ColX
的子集(即df1.ColY
)替换为具有更多值的整个df1.ColX != 0
。
要有条件地复制正确的值,还必须对df1.ColX
应用相同的过滤器:
df1.ColX