gpt4 book ai didi

python - Pandas 需要一个 Str 对象但收到一个 float

转载 作者:行者123 更新时间:2023-12-01 09:06:41 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

df_all_data:

everything file_names

0  v_merged.sql
1 CREATE VIEW [dbo].[v_merged] v_merged.sql
2 AS v_merged.sql
3 WITH [stage] AS v_merged.sql
4 ( v_merged.sql
5 SELECT --[row] v_merged.sql
6 [fssa_legacysystemid] v_merged.sql
7 ,[A_ID] v_merged.sql
8 ,[vendorcode] v_merged.sql
9 ,NULL AS [lpinumber] v_merged.sql

我收到以下错误:

TypeError: ("descriptor 'startswith' requires a 'str' object but received a 'float'", 'occurred at index everything')

我不知道我做错了什么?我认为我的 everything 列是 strobject 类型?

编辑#1:

这是导致此错误的代码:

df_all_data = df_all_data[~df_all_data.applymap(lambda x : str.startswith(x,'--')).any(1)]

最佳答案

由于 Pandas 发现了 float 值,因此很有可能这是真的。这些值可能为空,即 NaN/np.nan。一种简单的解决方法是在 lambda 函数中转换为 str:

df = df[~df.applymap(lambda x: str.startswith(str(x), '--')).any(1)]

更好的主意是通过 pd.DataFrame.astype 转换为 str并使用 pd.Series.str 方法,它完全模仿 Python 字符串方法:

df = df[df.astype(str).str.startswith('--').any(1)]

关于python - Pandas 需要一个 Str 对象但收到一个 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51990367/

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