pandas - 使用替换方法时列类型更改
问题描述
dataframe 的 replace 方法是将列的类型从 object 更改为 float。有没有办法将对象类型与 np.nan 混合并将列保持为 Dtype“对象”?
df = df.replace("0", np.nan)
前:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 109 entries, 12 to 120
Data columns (total 5 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 transaction_date 81 non-null object
1 remark 81 non-null object
2 withdrawal 81 non-null object
3 deposit 81 non-null object
4 balance 81 non-null object
dtypes: object(5)
memory usage: 4.4+ KB
后:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 109 entries, 12 to 120
Data columns (total 5 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 transaction_date 81 non-null object
1 remark 81 non-null object
2 withdrawal 52 non-null float64
3 deposit 29 non-null float64
4 balance 80 non-null float64
dtypes: float64(3), object(2)
memory usage: 4.4+ KB
解决方案
您可以替换为None
:
df = df.replace("0", None)
推荐阅读
- python - 如何检测 Tkinter 中单击的按钮在哪一帧上?
- swift - SwiftUI 新手:绑定、切换和致命错误:索引超出范围
- notepad++ - SRT 文件问题(索引和空行)
- python - Python:IndexError:修改代码后列表索引超出范围
- c - 给定区间之间的质数
- typescript - 当同一接口上存在其他属性(字符串文字)时,有条件地使类型成为必需
- python - Keras Sequential:创建 Tensorflow numeric_columns 的优势?
- webclient - 使用 Spring 5 WebClient 是否可以使用 GET 请求类型发送 JSON 正文?
- c# - WSO2 IS 5.10 自动解锁在锁定时间后不起作用
- kubernetes - 无法通过 kubernetes 在 hazelcast 中创建集群