将CDF存储在单个数据帧单元格或多列中



我有10个项目对,称它们为1A和1B、2A和2B、3A和3B->10A和10B在这样的帧中:

Item_col1    Item_col2   
1A           1B         
2A           2B         
3A           3B         

每个项目(例如,2A(都有一个相关的累积概率分布函数。我存储在np.arrays列表中的每个CDF[CDF_A1,CDF_2A,CDF_3A,CDF_4A],每个都有100个元素,看起来有点像这样:

[0.0000, 0.0100, 0.2000,...0.9999, 1.0]

我想将CDF添加到帧中,最终相互比较(例如,1A与1B相比,2A与2B相比(,但不知道将它们存储在帧中的最佳方式。

这样存储它们会更好吗(可能吗?(:

Item_col1    Item_col2    CDF_Item_col1    CDF_Item_col2
1A           1B           CDF_1A           CDF_1B
2A           2B           CDF_2A           CDF_2B
3A           3B           CDF_3A           CDF_3B

或者应该是或者必须是这样的:

Item_col1    Item_col2 (As) CDF_Element1    CDF_Element2....CDF_Element100   (Bs) CDF_Element1    CDF_Element2....CDF_Element100 
1A           1B             0.0000          0.0100          1.0000                0.0000          0.0100          1.0000    
2A           2B             0.0000          0.0100          1.0000                0.0000          0.0100          1.0000
3A           3B             0.0000          0.0100          1.0000                0.0000          0.0100          1.0000

我认为你可以这样存储它们:

df
item1 item2      cdfA      cdfB
0     1A    1B  0.574843  0.501655
1     1A    1B  0.574843  0.638855
2     1A    1B  0.574843  0.827372
3     1A    1B  0.574843  0.450464
4     1A    1B  0.162894  0.501655
5     1A    1B  0.162894  0.638855
6     1A    1B  0.162894  0.827372
7     1A    1B  0.162894  0.450464
8     1A    1B  0.479719  0.501655
9     1A    1B  0.479719  0.638855
10    1A    1B  0.479719  0.827372
11    1A    1B  0.479719  0.450464
12    1A    1B  0.724478  0.501655
13    1A    1B  0.724478  0.638855
14    1A    1B  0.724478  0.827372
15    1A    1B  0.724478  0.450464
16    2A    2B  0.827809  0.709354
17    2A    2B  0.827809  0.657139
18    2A    2B  0.827809  0.115151
19    2A    2B  0.827809  0.942483
20    2A    2B  0.717945  0.709354

正如您所说,您可能还想比较这些CDF在1A和1B、2A和2B之间的值。。等等,如果你的数据帧是这样的,我想以后你会更容易进行这些比较。如果你认为它会占用更多的RAM,你甚至可以将item1和item2列更改为Categorical,因为它们是重复的,如

cols = ['item1', 'item2']
for col in cols:
df[col] = df[col].astype('category')

相关内容

  • 没有找到相关文章

最新更新