Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/pandas/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 如何将熊猫数据导出到elasticsearch?_Pandas_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Pandas,elasticsearch" /> elasticsearch,Pandas,elasticsearch" />

Pandas 如何将熊猫数据导出到elasticsearch?

Pandas 如何将熊猫数据导出到elasticsearch?,pandas,elasticsearch,Pandas,elasticsearch,可以使用elasticsearch py将数据帧数据导出到elasticsearch。例如,下面是一些代码: 有许多类似的方法,如到_excel,到_csv,到_sql 是否有的弹性方法?如果没有,我应该在哪里请求它?您可以使用或者如果您不使用elasticsearch py,您可以在这里找到您问题的答案=>我不知道有任何集成在pandas中的to_elastic方法。您始终可以在熊猫上提出问题或创建拉动请求 但是,有一个允许将pandas数据帧导入elasticsearch的方法。自述文件中

可以使用
elasticsearch py
将数据帧数据导出到elasticsearch。例如,下面是一些代码:

有许多类似的方法,如
到_excel
到_csv
到_sql


是否有
的弹性
方法?如果没有,我应该在哪里请求它?

您可以使用或者如果您不使用elasticsearch py,您可以在这里找到您问题的答案=>我不知道有任何集成在pandas中的
to_elastic
方法。您始终可以在熊猫上提出问题或创建拉动请求

但是,有一个允许将pandas数据帧导入elasticsearch的方法。自述文件中的以下示例已使用Elasticsearch 6.2.1进行了测试

import pandas as pd
import numpy as np
from espandas import Espandas

df = (100 * pd.DataFrame(np.round(np.random.rand(100, 5), 2))).astype(int)
df.columns = ['A', 'B', 'C', 'D', 'E']
df['indexId'] = (df.index + 100).astype(str)

INDEX = 'foo_index'
TYPE = 'bar_type'
esp = Espandas()
esp.es_write(df, INDEX, TYPE)
使用
获取foo\u索引/\u映射
检索映射:

{
  "foo_index": {
    "mappings": {
      "bar_type": {
        "properties": {
          "A": {
            "type": "long"
          },
          "B": {
            "type": "long"
          },
          "C": {
            "type": "long"
          },
          "D": {
            "type": "long"
          },
          "E": {
            "type": "long"
          },
          "indexId": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
        }
      }
    }
  }
}

以下脚本适用于本地主机:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

INDEX="dataframe"
TYPE= "record"

def rec_to_actions(df):
    import json
    for record in df.to_dict(orient="records"):
        yield ('{ "index" : { "_index" : "%s", "_type" : "%s" }}'% (INDEX, TYPE))
        yield (json.dumps(record, default=int))

from elasticsearch import Elasticsearch
e = Elasticsearch() # no args, connect to localhost:9200
if not e.indices.exists(INDEX):
    raise RuntimeError('index does not exists, use `curl -X PUT "localhost:9200/%s"` and try again'%INDEX)

r = e.bulk(rec_to_actions(df)) # return a dict

print(not r["errors"])
使用
curl-g'进行验证http://localhost:9200/dataframe/_search?q=A:[29%20至%2039]”

有许多小东西可以添加以满足不同的需要,但main在那里。

您可以使用吗

pip安装es\u
pip安装progressbar2
这个包应该可以在Python3(>=3.4)上使用,ElasticSearch应该是5.x、6.x或7.x版本

导入时间
作为pd进口熊猫
从大熊猫进口大熊猫
#es cluseter的信息
es_host='localhost:9200'
索引='demo'
#克里特岛是熊猫的例子
ep=es_熊猫(es_宿主)
#示例数据帧
df=pd.DataFrame({'Alpha':[chr(i)表示范围(97128)中的i)],在,
'Num':[x代表范围(31)中的x],
“日期”:pd.日期(开始日期为2019/01/01,结束日期为2019/01/31'))
#如果需要,初始化模板
文档类型='demo'
ep.init_es_tmpl(df,文档类型)
#在将数据写入es的示例中,请使用您创建的模板
ep.to(df,索引,文档类型=文档类型)
#如果要将数据帧索引用作记录'\u id',请设置use\u index=True
ep.to(df,索引,文档类型=文档类型,使用索引=真)
这是文件

如果“es_pandas”无法解决您的问题,您可以看到其他解决方案:

输入的大小(行、列、字节)?我正在尝试保存包含frozenset的apriori结果,这似乎无法保存frozensets@Setop,我可以知道如何处理```引发HTTP_异常.get(状态代码,传输错误)(状态代码、错误消息、附加信息)传输错误:传输错误(413),“``熊猫df超过100MB,接近125MB