Python 3.x 从elasticsearch检索数组中的列
我有: 我将我的Python 3.x 从elasticsearch检索数组中的列,python-3.x,pandas,
elasticsearch,Python 3.x,Pandas,
elasticsearch,我有: 我将我的pandasdataframe保存在elasticsearch索引上,每一行都是一个文档。 现在我想检索列表中的所有列[1,5] i、 e.输出应为: 1 2 3 4 5 1 55 4 8 7 8 6 80 40 1 当我这样做时: 1 5 1 7 8 1 我得到了我的dataframe,但我不想完全加载它,只想检索特定的列,我该怎么做? 这可能不会完全帮助我,但只能通过过滤器来完成 更新
pandas
dataframe
保存在elasticsearch
索引上,每一行都是一个文档。
现在我想检索列表中的所有列[1,5]
i、 e.输出应为:
1 2 3 4 5
1 55 4 8 7
8 6 80 40 1
当我这样做时:
1 5
1 7
8 1
我得到了我的dataframe
,但我不想完全加载它,只想检索特定的列,我该怎么做?
这可能不会完全帮助我,但只能通过过滤器来完成
更新
关于ES的文件如下:
from elasticsearch import Elasticsearch
from pandas.io.json import json_normalize
res = es.search(index="index_name", body={ "query": {"match_all": {}}})
df = json_normalize(res['hits']['hits'])
更新2
显然,我能做到:
{
"_index": "index_name",
"_type": "dataframe",
"_id": "0",
"_score": 1,
"_source": {
"1": 1,
"2": 55,
"3": 4,
"4": 8,
"5": 7,
"index": 0
}
或者其他带有熊猫的东西
但为此,我必须首先加载整个
dataframe
,如果dataframe
太大怎么办?我不想用一个dataframe
来填满我的全部内存,因为我有不同的任务要做,我只想从elasticsearch加载所需的列,这更多的是elasticsearch
query
问题,而不是pandas
df[[1,5]]之类的东西?@anky\u 91更新的问题请参见
df[[1,5]] or
df[:,[1,5]]