小编Fra*_*ans的帖子

当可能的值为 bool 和 NaN 时,避免使用 pandas FutureWarning object-dtype 列使用全 bool 值

我有大约 100 万个 pandas 数据框,包含 0-10,000 行和 160 列。在数据框中,5-10 列可能具有值 [False、True、np.nan],并且是“object”或“bool”dtype。某些“对象”数据类型列仅包含 True 或 False。我处理所有这些列就好像它们可以包含 [False, True, np.nan],所以没有df.loc[df['col']]butdf.loc[df['col'] == True]等。

当我对这些帧的集合进行 concat 时,有时我会得到In a future version, object-dtype columns with all-bool value will not be include induction with bool_only=True。显式转换为 bool dtype。

下面的两个 concat 都会触发警告,因为 df2 有一个带有 dtype 对象的 bool-only 列:

df1 = pd.DataFrame({'foo': np.zeros((2, ), dtype='bool')}, index=[0,1])
df2 = pd.DataFrame({'foo': np.ones((2, ), dtype='bool').astype('object')}, index=[2,3])
df3 = pd.DataFrame({'foo': np.array([np.nan, np.nan])}, index=[6,7])

df_ = pd.concat([df1, df2])
df_ = pd.concat([df2, …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
0
解决办法
1625
查看次数

标签 统计

pandas ×1

python ×1