相关疑难解决方法(0)

如何制作好的可重复的熊猫示例

花了相当多的时间观察SO上的标签,我得到的印象是pandas问题不太可能包含可重现的数据.这是值得的R社会一直要鼓励不错,并感谢像导游这样,新人能得到放在一起,这些例子一些帮助.能够阅读这些指南并返回可重现数据的人通常会更好地获得他们问题的答案.

我们如何为pandas问题创建良好的可重复示例?简单的数据帧可以放在一起,例如:

import pandas as pd
df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
                   'income': [40000, 50000, 42000]})
Run Code Online (Sandbox Code Playgroud)

但是许多示例数据集需要更复杂的结构,例如:

  • datetime 指数或数据
  • 多个分类变量(是否等价于R的expand.grid()函数,它会产生某些给定变量的所有可能组合?)
  • MultiIndex或Panel数据

对于dput()难以使用几行代码进行模拟的数据集,是否有与R相当的R ,它允许您生成可复制粘贴的代码以重新生成数据结构?

python pandas

222
推荐指数
5
解决办法
2万
查看次数

pandas concat生成nan值

我很好奇为什么pandas中两个数据帧的简单连接:

shape: (66441, 1)
dtypes: prediction    int64
dtype: object
isnull().sum(): prediction    0
dtype: int64

shape: (66441, 1)
CUSTOMER_ID    int64
dtype: object
isnull().sum() CUSTOMER_ID    0
dtype: int64
Run Code Online (Sandbox Code Playgroud)

具有相同的形状,两者都没有NaN值

foo = pd.concat([initId, ypred], join='outer', axis=1)
print(foo.shape)
print(foo.isnull().sum())
Run Code Online (Sandbox Code Playgroud)

如果加入,会导致很多NaN值.

(83384, 2)
CUSTOMER_ID    16943
prediction     16943
Run Code Online (Sandbox Code Playgroud)

如何解决此问题并防止引入NaN值?

试图重现它

aaa  = pd.DataFrame([0,1,0,1,0,0], columns=['prediction'])
print(aaa)
bbb  = pd.DataFrame([0,0,1,0,1,1], columns=['groundTruth'])
print(bbb)
pd.concat([aaa, bbb], axis=1)
Run Code Online (Sandbox Code Playgroud)

失败,例如工作得很好,因为没有引入NaN值.

python concatenation nan dataframe pandas

35
推荐指数
2
解决办法
3万
查看次数

标签 统计

pandas ×2

python ×2

concatenation ×1

dataframe ×1

nan ×1