Python:如何使用子树或子列表(列表列表)

时间:2019-05-14 13:28:31

标签: python list dataframe recursion

我正在构建一些简单的代码(仍然是新手学习者),该代码基于某些转换来构建统计树。

到目前为止,我编写的代码如下:

#each row reflects a specific user
#first row reflects a user that transitions from 1 to 2 to 3 to 4 and 5

smallData=pd.DataFrame(np.array([[1,2,3,4,5],[4,5,6,7,8],[1,2,3,3,3],[1,2,2,3,3],[1,2,3,5,3]]),columns=range(0,5))
inputs=[1,2]

def nextStep(inputs): # 
    i=len(inputs)
    pickedRows= smallData.loc[(smallData.iloc[:,0:i] == inputs).agg(all, axis=1)]
    nextTransitions=pickedRows.loc[:,i].value_counts(normalize=True)
    slicedTable=pickedRows.loc[:,i+1:]
    return nextTransitions,slicedTable

nextStep([1,2])
Out[272]: 
(3    0.75
 2    0.25
 Name: 2, dtype: float64,    3  4
 0  4  5
 2  3  3
 3  3  3
 4  5  3)

nextStep要做的是在1,2处输入转换。

A。查找以1,2开头的所有行

B。用百分比计算下一个过渡。在示例中,3占75%,2占25%

C。作为结果返回包含所有后续转换的表。

Python中用于存储此类过渡(分支及其叶子)的结构是什么。是列表的子列表是实现此数据或熊猫数据框的最佳方法。

我认为,我上面编写的代码应递归执行,直到访问所有表并构造所有分支为止。您将如何存储nextStep函数的中间结果?

感谢您的回复。 问候 亚历克斯

0 个答案:

没有答案