python - 如何将二元组列出熊猫
问题描述
我的数据框中目前有一行,如下所示:
bigrams other1 other2
[(me, you), (stack, overflow)] .................
[(me, you)] .................
我正在尝试将我的前 10 个二元组放入一个列表中,以便出于比较原因使用它。我尝试将我的前 10 个二元组复制并粘贴到一个列表中,如下所示:
list = ['(me, you)', .....]
这行不通。有没有人有什么建议?谢谢。
解决方案
您可以使用itertools.chain
(以展平“bigrams”列中的列表列表),然后使用pd.value_counts
.
df = pd.DataFrame({'bigrams': [['(a, b)', '(c, d)'], ['(a, b)'], ['(a, b)', '(e, f)']]})
df
bigrams
0 [(a, b), (c, d)]
1 [(a, b)]
2 [(a, b), (e, f)]
pd.__version__
# '0.24.1'
from itertools import chain
n = 2 # Find the top N
pd.value_counts(list(chain.from_iterable(df['bigrams']))).index[:n].tolist()
# ['(a, b)', '(e, f)']
推荐阅读
- ruby-on-rails - 与接受的嵌套属性的自关联
- r - 以不同的模式拆分文本中的数据
- r - 在 R 中绘制函数时出现奇怪的错误
- pact - 按端点分离提供者验证测试中的 Pact 交互
- android - 在android中获取json对象
- javascript - ECMASCRIPT6 Google 跟踪代码管理器错误:箭头函数
- python - 检查错误消息作为流控制的一种形式是 Python 中的一种好习惯吗?
- xamarin.forms - 启用链接时未构建 Xamarin Forms Release 版本的 Android
- amazon-web-services - 尽管已安装 Pusher 模块,但未找到
- authentication - Azure DevOps REST API,身份验证不适用于构建,但对于工作项它是