gpt4 book ai didi

python - 如何从ElasticSearch helpers.scan结果获取Python数据框

转载 作者:行者123 更新时间:2023-12-03 00:05:58 32 4
gpt4 key购买 nike

假设我有一个辅助函数,例如:

result_helper = helpers.scan(es, scroll='2m', query={"query": {"match_all": {}}} ,index="test", size=1000, _source=('logtime','host_name', 'kv', 'value') )

如何将这些数据放入python数据框?

使用这种方法:
result_helper = list(helpers.scan(es, scroll='2m', query={"query": {"match_all": {}}} ,index="test", size=1000, _source=('logtime','host_name', 'kv', 'value') )) 
df = pd.DataFrame(result_helper)

我得到一个数据框,但在 _source列中有一个列表:
_id                         _index       _score     _source               _type     sort
0 AVz3qBfbLK0jC-lSNFjT test None {u'host_name': u'hostxyz', u'kv': u'Memory_an... logs [0]

如何从helpers.scan结果创建数据框,并为 _source列表中的每个键添加一列?
例如。:
    hostname memory  ...
1 hostxyz 1024GB ...
2 . .
3 . .
4 . .

最佳答案

经过一些考虑和测试,我开发了以下解决方案:


result_helper_list = list(helpers.scan(es, scroll='2m', query={"query": {"match_all": {}}} ,index="check_mk_wnp_csh", size=1000, _source=('logtime','host_name', 'kv', 'value') ))


df_result = json_normalize(result_helper_list)

我得到列表作为列(根据需要):
df_result.columns

> Index([u'_id', u'_index', u'_score', u'_source.host_name', u'_source.kv',
u'_source.logtime', u'_source.value', u'_type', u'sort'],
dtype='object')

关于python - 如何从ElasticSearch helpers.scan结果获取Python数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45053886/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com