python - 我有一个关于更改数据框类型的问题
问题描述
df = pd.DataFrame({'num':['9','','3','7','11']})
col_nm = 'num'
print(df)
num
0 9
1
2 3
3 7
4 11
我在这里的帮助下成功了。
string = "np.where(num >= 5 , 5,num) "
df[col_nm] = pd.to_numeric(df[col_nm],errors='coerce')
string= string.replace(col_nm,"df['"+col_nm+"']")
df[col_nm] = eval(string)
print(df)
num
0 5.0
1 NaN
2 3.0
3 5.0
4 5.0
但是, pd.to_numeric(downcast = 'integer') 不起作用...我想将其更改回原始状态。
num num
0 5.0 0 5
1 NaN 1
2 3.0 => 2 3
3 5.0 3 5
4 5.0 4 5
解决方案
推荐阅读
- django - create_user 未返回新创建用户的完整用户对象
- c# - 如何使用 C# 将 CSV 转换为 SQLite 数据库
- c - 使用 typedef struct 在函数中返回结构
- python - cv::VideoCapture::open VIDEOIO(DSHOW)
- python - 使用 Lambda 表达式折叠高阶函数
- angular - 使用角度数据表重新排序行
- java - 如何在不使用 accept() 的情况下只等待带有 ServerSocket 的新 Socket?
- rxjs - Rxjs鼠标事件不检索鼠标坐标
- reactjs - 避免重新渲染包含子道具的组件
- c++ - C++ 中的 cin 缓冲区问题