python包,使用灵活的字符串匹配和清理消除pandas数据框中的文本数据重复

dupandas的Python项目详细描述


#**dupandas:**pandas数据框中文本记录的重复数据消除



[![项目状态:WIP-初始开发正在进行中,但还没有一个稳定的、可供公众使用的版本。](http://www.repostatus.org/badges/latest/wip.svg)](https://github.com/shivam5992/dupandas)[![推特关注](https://img.shields.io/twitter/follow/shields_io.svg?style=social&;label=follow&;maxage=2592000)(https://twitter.com/shivamshaz)


dupandas是一个python包,用于使用灵活的文本匹配对pandas数据帧的列执行重复数据消除。它兼容python的两个版本(2.x和3.x)。dupandas可以在pandas数据中找到重复的任何类型的文本记录。它由能够处理拼写差异和语音的复杂匹配器组成。它还包括几个清洁器,可用于清除文本数据中存在的噪音,如标点、数字、大小写等。


为了快速计算,dupandas使用基于lucene的文本索引。在input_config中,如果"indexing"=true,那么它将对ramdirectory中的数据集进行索引,该数据集用于标识和搜索类似的字符串。请查看下面安装pylucene的说明。

dup and as最漂亮的部分是它的匹配器、清理器和索引功能可以作为独立的包使用,同时处理文本数据。




安达斯:**熊猫,毛茸茸的,巨蟒。这些模块可以使用pip命令安装:

`` python
pip install dupandas pandas fuzzy python levenshtein
````
**或者**如果已经安装了依赖项:

``````
`````pip install dupandas
``
**可选**,以便更快地使用建议使用索引功能。Dupandas使用Pulucene进行数据索引。*BR/>**************************************建议使用Java 8。请参阅[此](https://www.digitalocean.com/community/tutorials/how-to-install-java-on-ubuntu-with-apt-get)链接

`````
sudo apt-get-update
sudo apt-get-install-pylucene

t ld_library_path=/usr/lib/jvm/java_folder_name/jre/lib/amd64/server

示例:export ld_library_path=/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
````

**注意:*使用索引可以将计算和执行的总时间减少到原始时间的三分之一。

用法:dupandas
dupandas使用默认匹配器和清除器,默认匹配器和清除器分别完全匹配和不清除。

``python
从dupandas导入dupe
dupe=dupe()

input-config={
"input-data":pandas_dataframe,
"column":"column_name_to_deduplicate",
"u id":"unique_id_column_of_dataset",
}
results=dupe.dedupe(input_config)
`````

dupandas使用自定义清除器和匹配器配置dupandas从dupandas导入deduplicate

``python
/>
清除配置{"下":真,"标点符号":真,"空白":真,"数字":真}
匹配配置{"精确":假,"levenshtein":真,"soundex":假,"nysis":假}
重复数据消除(清除配置=清除配置,匹配配置=匹配配置)

nput_config={
"输入数据":pandas_dataframe,
"column":"column_name_to_deduplicate",
"u id":"数据集的唯一id_column_",
}
results=dupe.dedupe(输入配置)
````

"输入配置"中的其他选项

``python
input_config={
"输入数据":pandas_dataframe,
"列":"要进行重复数据消除的列"和
"u id":"唯一的列"_"数据集"的"
"score"column":"name"of"u the"u column"for"u confidence"score",
"threshold":0.75,"float value of threshold"
"unique"pairs":true,"boolean to get unique(a=b)or duplicate(a=b and b=a)results
"indexing":false"to set lucene索引=true/false,默认值:false
}
```

g)
干净。干净的文本("新德里3"!34"
```

熟食店"
``

[]v2:添加对多列匹配的支持
2。[]v2:添加更多匹配器和清洁器
3。[]v2:删除库依赖项
4。[]v2:处理较长的文本、优化速度、lucene时间优化、修复输入错误

**分叉**Github上的回购
2。**将**项目克隆到您自己的计算机上
3。**提交**更改到您自己的分支
4。**把**你的工作推回到你的叉子上
5。提交**拉取请求**

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么要明确定义KafkaTemplate bean?   JAVAlang.IllegalStateException:Observer 安卓。小装置。AbsListView$AdapterDataSetObserver未注册   Java:Eclipse中未加载图像   java Tomcat并发   用于java的windows mobile远程api   在Java中返回超级构造函数之前括号的超类重要性?   java中的RedisCommandTimeoutException太多   java是否使用反射确定一个方法是否覆盖另一个?   java如何在没有jlist的情况下清空jlist。removeall()   java复选框值和useBean标记   java拆分IP八位字节   如何转换基于时间的java。util。UUID到日期时间   jvm分段错误Java进程   joda LocalTime的java Jackson serializaton   java ActionListener未实现   WHERE子句中的MySQL语句中出现java错误   java如何在材料设计领域创建主/细节