尝试将Series
类型的新行添加到DataFrame
中,两者共享相同的列/索引:
df.loc[df.shape[0]] = r
获取:
未来警告:在将来的版本中,bool_only = True的约简中将不包含全bool值的对象数据类型列。请改为显式转换为bool数据类型。
它来自inference module。
尝试将Series
类型的新行添加到DataFrame
中,两者共享相同的列/索引:
df.loc[df.shape[0]] = r
获取:
未来警告:在将来的版本中,bool_only = True的约简中将不包含全bool值的对象数据类型列。请改为显式转换为bool数据类型。
它来自inference module。
4条答案
按热度按时间igsr9ssn1#
我得到了同样的错误,这是因为version 1.5.0 of pandas为什么可能有些答案在这里没有解决问题:
已弃用在DataFrame.any()和DataFrame.all()中将全bool对象数据类型列视为类bool,而将bool_only=True显式转换为bool(GH46188)
所以我试着去理解...但是不知何故我还是找到了一个解决方案。原因是带有布尔值的列没有正确地转换。我使用了concat,对我来说它是现有的DataFrame。
因为我不想为Dataframe的所有列定义相应的dtype(这也是可能的),所以我对必要的列进行了更改:
或者对于多个:
然后concat在没有未来警告的情况下为我工作。
jbose2ul2#
尝试:
62o28rlo3#
碱:
| | 姓名|年龄|位置|
| - ------|- ------|- ------|- ------|
| 无|尼克|三十一|多伦多|
| 1个|凯特|三十|伦敦|
| 第二章|埃文|四十|金斯顿|
| 三个|凯拉|三十三|汉密尔顿|
解决方案:
| | 姓名|年龄|位置|
| - ------|- ------|- ------|- ------|
| 无|克罗伊扎|六十九|圣贡萨洛|
| 1个|尼克|三十一|多伦多|
| 第二章|凯特|三十|伦敦|
| 三个|埃文|四十|金斯顿|
| 四个|凯拉|三十三|汉密尔顿|
vaj7vani4#
发生在我身上,以及当我在谷歌搜索的消息,我得到了这里。它发生在我身上的原因:将dict转换为 Dataframe 时,转换不会将布尔类型转换为:〈class 'pandas.core.arrays.boolean. BooleanArray'〉它将其转换为〈class 'numpy. ndarray'〉。因此您需要“手动”转换它,然后将其连接起来,对我有效的正确命令是:
另请参见:https://github.com/pandas-dev/pandas/issues/46662