gpt4 book ai didi

python - 强制所有列都是 pandas 中的字符串

转载 作者:行者123 更新时间:2023-12-01 08:31:21 25 4
gpt4 key购买 nike

我有以下数据框:

>>> data = {'col_1': ['1','2','3'], 'col_2': ['a', 'b', 'c', 'd']}
>>> df=pd.DataFrame.from_dict(data) # <== I want to modify this statement

>>> df.dtypes
col_1 int64
col_2 object
dtype: object

请注意,col_1 已被推断为 int64 列。有没有一个简单的方法,我可以为我拥有的每一列执行“forceType=object”?数据已经预先格式化,我不需要 pandas 来标记任何内容。

最佳答案

假设列表长度相等,您可以为 from_dict 指定 dtype=object 参数。 'object' 指定不对列进行任何转换,因此它们按原样加载。

data = {'col_1': ['1','2','3'], 'col_2': ['a', 'b', 'c']}
df = pd.DataFrame.from_dict(data, dtype=object)

df
col_1 col_2
0 1 a
1 2 b
2 3 c

df.dtypes

col_1 object
col_2 object
dtype: object
<小时/>

如果大小不均匀的列表将成为问题,您可以以相同的方式使用 'index' 方向加载并转置结果:

data = {'col_1': ['1','2','3'], 'col_2': ['a', 'b', 'c', 'd']}
df = pd.DataFrame.from_dict(data, orient='index', dtype=object).T
df

col_1 col_2
0 1 a
1 2 b
2 3 c
3 None d

df.dtypes

col_1 object
col_2 object
dtype: object

关于python - 强制所有列都是 pandas 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53900899/

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