gpt4 book ai didi

python - 根据列子文本有条件地更改列数据类型

转载 作者:行者123 更新时间:2023-11-30 22:27:29 25 4
gpt4 key购买 nike

我有以下数据:

df
A_Key B_ID C_Key D_NA
123 22 343.0 23
121 23 45.4 52

df.dtypes 导致以下结果:

df.dtypes

A_Key int64
B_ID int64
C_Key float
D_NA int64

如何有条件地将任何具有“Key”或“ID”的列的数据类型更改为对象?我的实际数据框中有一百多个列,所以我希望有一个查找方法。

我当前的方法使用以下代码,但显然它不是 pythonic 并且需要单独的硬编码:

for col in ['A_Key',
'B_ID',
'C_Key']:
df[col] = df[col].astype('object')

我的 df.dtypes 输出应显示如下:

df.dtypes

A_Key object
B_ID object
C_Key object
D_NA int64

提前感谢您的帮助。

最佳答案

尝试

cols = df.columns[df.columns.str.contains('Key|ID')]
df[cols] = df[cols].astype('O')

print(df.dtypes)

A_Key object
B_ID object
C_Key object
D_NA int64

关于python - 根据列子文本有条件地更改列数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46921888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com