【发布时间】:2017-07-09 00:26:09
【问题描述】:
我有列表列表
u=[[1, 1], [2, 1, 1, 1], [2, 2, 1, 1, 1, 1, 2, 2], [2, 2, 2, 2, 2, 3, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2], [2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 3, 2, 3, 3, 3, 2, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2]]
我想使用 pandas 创建一个 DataFrame,其中行由 u 的长度索引,列由该列表列表中的数字组给出。
我希望这个 DataFrame 的元素是元素出现的频率。例如,从上面,我想得到下表
在上表中,1 列表示每个列表中的个数,而 2 表示 2 的个数。在单元格 (1,1) 中,数字 2 是通过计算第一个列表中的个数获得的是 [1,1]。在单元格 (2,1) 中,数字 3 是通过计算列表 [2,1,1,1] 中的数量获得的,而在单元格 (2,2) 中,数字二是通过计算两个的频率获得的在列表 [2,1,1,1] 中,始终重复相同的过程。
我知道要计算列表中重复元素的数量,我必须使用 count。例如 [1,1,1,2].count(1)=3 我想知道的是使用 Pandas 以便我得到上面的 DataFrame。可以这样做吗?
【问题讨论】:
标签: python list pandas dataframe