为您的 favorite dataframe 库提供的 Haystack 自定义组件。
项目描述
Dataframes Haystack
📃 描述
dataframes-haystack
是一个为 Haystack 2 提供的扩展,它允许与 dataframe 库集成。
当前支持的数据框架库包括
该库提供各种自定义 转换器 组件,可以将数据框架转换为 Haystack Document
对象
FileToPandasDataFrame
和FileToPolarsDataFrame
读取文件并将它们转换为数据框架。PandasDataFrameConverter
或PolarsDataFrameConverter
将数据框架中存储的数据转换为 HaystackDocument
对象。
🛠️ 安装
# for pandas (pandas is already included in `haystack-ai`)
pip install dataframes-haystack
# for polars
pip install "dataframes-haystack[polars]"
💻 使用
[!TIP] 请参阅 示例笔记本 以获取完整示例。
Pandas
FileToPandasDataFrame
from dataframes_haystack.components.converters.pandas import FileToPandasDataFrame
converter = FileToPandasDataFrame(file_format="csv")
output_dataframe = converter.run(
file_paths=["data/doc1.csv", "data/doc2.csv"]
)
结果
>>> output_dataframe
{'dataframe': <pandas.DataFrame>}
PandasDataFrameConverter
import pandas as pd
from dataframes_haystack.components.converters.pandas import PandasDataFrameConverter
df = pd.DataFrame({
"text": ["Hello world", "Hello everyone"],
"filename": ["doc1.txt", "doc2.txt"],
})
converter = PandasDataFrameConverter(content_column="text", meta_columns=["filename"])
documents = converter.run(df)
结果
>>> documents
{'documents': [
Document(id=0, content: 'Hello world', meta: {'filename': 'doc1.txt'}),
Document(id=1, content: 'Hello everyone', meta: {'filename': 'doc2.txt'})
]}
Polars
FileToPolarsDataFrame
from dataframes_haystack.components.converters.polars import FileToPolarsDataFrame
converter = FileToPolarsDataFrame(file_format="csv")
output_dataframe = converter.run(
file_paths=["data/doc1.csv", "data/doc2.csv"]
)
结果
>>> output_dataframe
{'dataframe': <polars.DataFrame>}
PolarsDataFrameConverter
import polars as pl
from dataframes_haystack.components.converters.polars import PolarsDataFrameConverter
df = pl.DataFrame({
"text": ["Hello world", "Hello everyone"],
"filename": ["doc1.txt", "doc2.txt"],
})
converter = PolarsDataFrameConverter(content_column="text", meta_columns=["filename"])
documents = converter.run(df)
结果
>>> documents
{'documents': [
Document(id=0, content: 'Hello world', meta: {'filename': 'doc1.txt'}),
Document(id=1, content: 'Hello everyone', meta: {'filename': 'doc2.txt'})
]}
🤝 贡献
您有关于新功能的想法吗?您是否发现了需要修复的错误?
请随意 打开问题 或提交 PR!
设置开发环境
需求: hatch
, pre-commit
- 克隆仓库
- 运行
hatch shell
创建并激活虚拟环境 - 运行
pre-commit install
安装 pre-commit 钩子。这将强制执行代码检查和格式化。
运行测试
- 代码检查和格式化:
hatch run lint:fmt
- 单元测试:
hatch run test-cov-all
✍️ 许可证
dataframes-haystack
根据 MIT 许可证分发。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定该选择哪个,请了解更多关于 安装软件包 的信息。
源代码分发
dataframes_haystack-0.0.2.tar.gz (117.9 kB 查看哈希值)
构建分发
关闭
dataframes_haystack-0.0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 442a1ad00d3dafbddbd933d3bf72dbdabfa9249b62978592263169354a3ee844 |
|
MD5 | 826589aaedd0edd6ab97f4a446f1922a |
|
BLAKE2b-256 | 2107688833c253328e9f6c5d131ff49af0f7c657d275db42d80174342ccecac3 |
关闭
dataframes_haystack-0.0.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 68b7f350909d29a50e6ea0e584face3feedd2079a2a60b6fab619929a893737c |
|
MD5 | d96365cafeb0fa528905a421423daf73 |
|
BLAKE2b-256 | 7104be9076ea94d9f9da74021c011eb9a904c48f354d07e0fefb3e0a95f916a7 |