我试图将列0到4和6转换为当前float类型的int.
我试过了:
df[0:4,6].astype(int)
Run Code Online (Sandbox Code Playgroud)
但当然这不起作用......
piR*_*red 12
考虑 df
df = pd.DataFrame(np.random.rand(10, 10) * 10)
Run Code Online (Sandbox Code Playgroud)
用np.r_得到slc
slc = np.r_[0:4, 6]
df[slc] = df[slc].astype(int)
df
Run Code Online (Sandbox Code Playgroud)
或者使用键作为列名传递类型字典
df.astype({c: int for c in slc})
Run Code Online (Sandbox Code Playgroud)
我收到错误,因为我的一些列值NaN显然无法转换为int. NaN因此,更好的方法是在转换之前处理datatype并避免ValueError: Cannot convert non-finite values (NA or inf) to integer.
df['col_name'] = df['col_name'].fillna(0).astype(int)
Run Code Online (Sandbox Code Playgroud)
填充NaN然后转换为本例中0所需的内容。datatypeint
| 归档时间: |
|
| 查看次数: |
16686 次 |
| 最近记录: |