2017-11-25 63 views
0

我已经使用熊猫.to_csv函数序列化了一个pivotTable对象。现在我想将它加载回pivotTable对象。熊猫 - 将矩阵样式csv直接加载到可枢轴转动的对象

的CSV看起来像这样,第一列和行是ID的

 49033 49967 50221 52301 
41619    
41665    
46217    
46291 0.002   
47749    
49033   0.001   0.006 
49967     0.03 
50221    

据我所知,大熊猫不具有能为我做到这一点的任何功能。我必须自己解析整个桌子吗?

+0

什么是你写'csv'代码?你指定分隔符? – jezrael

+0

不,我没有,但是这不是一个问题,我可以使用pd.read_csv()函数,我的问题是,它返回数据框对象轻松地阅读我的文件,我需要得到的数据透视表对象 –

+0

'透视object'?在熊猫中它不存在。 – jezrael

回答

2

使用pd.read_fwf()如果您有固定宽度格式的文件。

演示:

In [28]: fn = r'D:\temp\.data\1.fwf' 

In [29]: pd.read_fwf(fn).fillna('') 
Out[29]: 
    Unnamed: 0 49033 49967 50221 52301 
0  41619 
1  41665 
2  46217 
3  46291 0.002 
4  47749 
5  49033   0.001  0.006 
6  49967    0.03 
7  50221 

如果你有一个常规CSV文件 - 使用pd.read_csv()

演示:

In [32]: pd.read_csv(fn, index_col=0).fillna('') 
Out[32]: 
      49033  49967  50221  52301  53627  53733  53779  54095  54871  55059  55921 \ 
41619 
41665                  0.00631642 
46217 
46291 0.00256985                0.0134134 
47749                0.0148866 
49033    0.00188816    0.00680558 0.00155183    0.00735491    0.00293469 0.0028227 
49967       0.0318261 
50221 
52301 
52465 
52621                              0.165127 
52851 
53407                0.0289802 
53437 
53627 
53733 
53779                     0.0311593 
53955 
54065 

      56007  56163  56287 
41619 
41665 0.0374982    0.0125017 
46217 
46291 
47749 
49033    0.00318618 
49967 
50221 
52301 
52465 
52621 
52851 
53407 
53437 
53627 
53733 
53779       0.00455196 
53955 
54065       0.0274595 
+0

我有CSV文件,但函数read.csv()返回对象类型pandas.core.frame.DataFrame,但我的csv是矩阵格式,有没有什么办法告诉熊猫威胁它像矩阵样式数据并返回数据透视表? –

+0

@MiroHascic,你能提供一个小样本数据集(类似于你的CSV文件)和你想要的数据集在你的问题? – MaxU

+0

我的csv文件中的数据样本处于原始问题 –