python - 我想更改特定索引的列值
问题描述
df = pd.read_csv('test.txt',dtype=str)
print(df)
HE WE
0 aa NaN
1 181 76
2 22 13
3 NaN NaN
我想用以下索引覆盖这些数据帧中的任何一个
dff = pd.DataFrame({'HE' : [100,30]},index=[1,2])
print(dff)
HE
1 100
2 30
for i in dff.index:
df._set_value(i,'HE',dff._get_value(i,'HE'))
print(df)
HE WE
0 aa NaN
1 100 76
2 30 13
3 NaN NaN
有没有办法在不使用'for'的情况下一次改变它?
解决方案
使用DataFrame.update
,(就地工作):
df.update(dff)
print (df)
HE WE
0 aa NaN
1 100 76.0
2 30 13.0
3 NaN NaN
推荐阅读
- java - (处理)将类型文件转换为类型字符串?
- javascript - 使用 innerHTML 和 onclick 事件添加元素
- haskell - “模式匹配”并递归封闭类型族中的类型以进行类型相等证明
- ios - IOS/Xcode/Storyboard/Autolayout:PickerView 不滚动可能是由于 Autolayout 约束
- php - 为什么 symfony 请求标头设置为二进制值,目的是什么?
- c# - 在 Razor 页面中的 OnGetAsync 将值分配给另一个模型
- javascript - reactjs中的搜索功能
- javascript - Firebase:从云函数调用云函数
- gcc-warning - gcc 命令行结构参数
- python-3.x - 如何在 Pyomo 中声明二维和三维向量