在学习大熊猫的过程中,我试图解决这个问题的答案已有好几个月了.我使用SAS进行日常工作,这非常适合它的核心支持.然而,由于其他许多原因,SAS作为一款软件非常糟糕.
有一天,我希望用python和pandas替换我对SAS的使用,但我目前缺乏大型数据集的核心工作流程.我不是在谈论需要分布式网络的"大数据",而是说文件太大而无法容纳在内存中,但又足够小以适应硬盘驱动器.
我的第一个想法是用于HDFStore在磁盘上保存大型数据集,并仅将我需要的部分拉入数据帧进行分析.其他人提到MongoDB是一种更容易使用的替代品.我的问题是:
有哪些最佳实践工作流程可用于完成以下任务:
真实世界的例子将非常受欢迎,尤其是那些在"大数据"上使用熊猫的人.
编辑 - 我希望如何工作的示例:
我正在尝试找到执行这些步骤的最佳实践方法.阅读关于pandas和pytables的链接似乎附加一个新列可能是个问题.
编辑 - 特别回应杰夫的问题:
if var1 > 2 then newvar = 'A' elif var2 = 4 then newvar = 'B'.这些操作的结果是我的数据集中每条记录的新列.我很少会在数据集中添加行.我几乎总是会创建新的列(统计/机器学习用语中的变量或特征).
我正在尝试使用mca包在Python中进行多个对应分析.
我对如何使用它感到有点困惑.随着PCA我希望到适合一些数据(即找到这些数据主要成分),再后来我就能够使用,我发现主成分变换看不见的数据.
根据MCA文档,我无法确定如何执行此最后一步.我也搞不懂什么任何的古怪cryptically命名的属性和方法做(即.E,.L,.K,.k等).
到目前为止,如果我有一个包含字符串的列的DataFrame(假设这是DF中唯一的列)我会做类似的事情
import mca
ca = mca.MCA(pd.get_dummies(df, drop_first=True))
Run Code Online (Sandbox Code Playgroud)
从我可以收集到的
ca.fs_r(1)
Run Code Online (Sandbox Code Playgroud)
是在数据的变换df和
ca.L
Run Code Online (Sandbox Code Playgroud)
应该是特征值(虽然我得到的1s 的向量比我的特征数量少一个元素?).
现在,如果我有更多具有相同功能的数据,让我们说df_new并假设我已经正确地将其转换为虚拟变量,我如何找到ca.fs_r(1)新数据的等价物