考虑-
df = pd.DataFrame({"a":[1,2,3]})
df
a
0 1
1 2
2 3
我想做两件事:
False
将数据帧转换为稀疏
这里有两个看起来很相似的方法。你知道吗
第一个方法;指定列并将结果转换为稀疏。你知道吗
df.assign(newcol=False).to_sparse(fill_value=False)
a newcol
0 1 False
1 2 False
2 3 False
第二种方法;首先转换为稀疏,然后分配列。你知道吗
df.to_sparse(fill_value=False).assign(newcol=False)
a newcol
0 1 0.0
1 2 0.0
2 3 0.0
这些{
FWIW,这个类似于第二个方法的方法似乎也能正常工作,给出False
而不是0.0
-
df = df.to_sparse(fill_value=False)
df['newcol'] = pd.SparseSeries([False] * len(df), dtype='bool_', fill_value=False)
df
a newcol
0 1 False
1 2 False
2 3 False
为什么两个看似相似的方法会产生完全不同的输出,我感到困惑。正确的方法是什么?为什么这些输出之间存在差异?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐