回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想在一列中获得列表长度的统计数据,例如平均长度、最低、最高、标准偏差等</p>
<p>例如:</p>
<pre><code>import pandas as pd
dfp = pd.DataFrame(
{'trial_num': [[1, 2, 3, 1, 2, 3], [3,4,6,7], [2,2]],
'subject': [[11, 2, 2, 2],[2,2,7],[4]]
}
)
dfp
</code></pre>
<p>输出:</p>
<pre><code> trial_num subject
0 [1, 2, 3, 1, 2, 3] [11, 2, 2, 2]
1 [3, 4, 6, 7] [2, 2, 7]
2 [2, 2] [4]
</code></pre>
<p>因此,对于这个数据帧,我想要<code>trial_num</code>和<code>subject</code>列的统计数据</p>
<p>大概是</p>
<pre><code>trial_num
Average: 4
High: 6
Low: 2
Stdev: 2
</code></pre>
<p>我试过的</p>
<p>我试过了</p>
<pre><code>dfp.describe()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-90-8a598dabea30> in <module>()
----> 1 dfp.describe()
6 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/algorithms.py in _value_counts_arraylike(values, dropna)
748 # TODO: handle uint8
749 f = getattr(htable, "value_count_{dtype}".format(dtype=ndtype))
--> 750 keys, counts = f(values, dropna)
751
752 mask = isna(values)
pandas/_libs/hashtable_func_helper.pxi in pandas._libs.hashtable.value_count_object()
pandas/_libs/hashtable_func_helper.pxi in pandas._libs.hashtable.value_count_object()
TypeError: unhashable type: 'list'
</code></pre>
<p>我能想到的唯一解决方案是使用iterrows计算平均值、高值和低值,然后使用平均值,再次使用iterrows计算stdev</p>