gpt4 book ai didi

python - 区分 pandas 数据框中的小数列和字符串列

转载 作者:行者123 更新时间:2023-12-03 08:46:52 28 4
gpt4 key购买 nike

我需要确定数据框中的哪些列是小数,哪些是字符串。
使用 df.dtypes 为两种列类型提供“对象”:

import pandas as pd
import decimal

data = {'dec1': [1.1, 1.2],'str1': ["a","b"]}
df = pd.DataFrame(data)

df.dec1 = df.dec1.apply(lambda x: decimal.Decimal(x))

df.dtypes

enter image description here

我使用下面的代码来知道哪些是小数,但是对于如此基本的东西必须有一种更Pythonic的方法。它是什么?

actual_col_types = df.iloc[0].apply(type)

df_decimals = df.loc[:,actual_col_types==decimal.Decimal]

enter image description here

最佳答案

使用isinstance,应该更喜欢类型,link :

mask = df.iloc[0].map(lambda x: isinstance(x, decimal.Decimal))
df_decimals = df.loc[:,mask]
print (df_decimals)
dec1
0 1.10000000000000008881784197001252323389053344...
1 1.19999999999999995559107901499373838305473327...

关于python - 区分 pandas 数据框中的小数列和字符串列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61118320/

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