标签: data-analysis

同义词查找器算法

我认为例子会比loooong描述好得多:)

假设我们有一个数组数组:

("Server1", "Server_1", "Main Server", "192.168.0.3")
("Server_1", "VIP Server", "Main Server")
("Server_2", "192.168.0.4")
("192.168.0.3", "192.168.0.5")
("Server_2", "Backup")
Run Code Online (Sandbox Code Playgroud)

每行包含作为同义词的字符串.由于处理这个数组我希望得到这个:

("Server1", "Server_1", "Main Server", "192.168.0.3", "VIP Server", "192.168.0.5")
("Server_2", "192.168.0.4", "Backup")
Run Code Online (Sandbox Code Playgroud)

所以我想我需要一种递归算法.编程语言实际上并不重要 - 一般来说我只需要一点点帮助.我将使用php或python.

谢谢!

php python algorithm data-analysis synonym

6
推荐指数
1
解决办法
2320
查看次数

在python中处理一个非常大的数据集 - 内存错误

我正在尝试使用python中的csv模块处理从csv文件获取的数据.这里有大约50列和401125行.我使用以下代码块将该数据放入列表中

csv_file_object = csv.reader(open(r'some_path\Train.csv','rb'))
header = csv_file_object.next()
data = []
for row in csv_file_object:
    data.append(row)
Run Code Online (Sandbox Code Playgroud)

我可以使用len(数据)获取此列表的长度并返回401125.我甚至可以通过调用列表索引来获取每个单独的记录.但是当我尝试通过调用np.size(data)来获取列表的大小时(我将numpy导入为np),我获得了以下堆栈跟踪.

MemoryError Traceback(最近一次调用last)in()----> 1 np.size(data)

C:\ Python27\lib\site-packages \numpy\core\fromnumeric.pyc in size(a,axis)2198返回a.size 2199除AttributeError: - > 2200返回asarray(a).size 2201 else:2202试试:

asarray中的C:\ Python27\lib\site-packages \numpy\core \numeric.pyc(a,dtype,order)233 234""" - > 235返回数组(a,dtype,copy = False,order = order )236 237 def asanyarray(a,dtype = None,order = None):

的MemoryError:

我甚至无法使用列表索引将该列表分成多个部分或将此列表转换为numpy数组.它给出了同样的内存错误.

我该如何处理这种大数据样本.有没有其他方法来处理像这样的大型数据集.

我在Windows 7专业版中使用ipython笔记本.

python numpy data-analysis python-2.7

6
推荐指数
1
解决办法
4万
查看次数

将日期列和时间列合并到datetime列

我有像这样的熊猫数据帧; (通过解析excel文件获得)

|     |     COMPANY NAME           | MEETING DATE        | MEETING TIME|
-----------------------------------------------------------------------|
|YKSGR|    YAPI KRED? S?GORTA A.?. | 2013-12-16 00:00:00 |14:00:00     |
|TRCAS|    TURCAS PETROL A.?.      | 2013-12-12 00:00:00 |13:30:00     |
Run Code Online (Sandbox Code Playgroud)

MEETING DATE是一个像的表示时间戳Timestamp('2013-12-20 00:00:00', tz=None)MEETING TIME是一个datetime.time具有表示对象像datetime.time(14, 0)

我想结合MEETING DATEMEETING TIME成一列.datetime.combine似乎做我想要的,但是,我需要以某种方式逐列地应用这个函数.我怎样才能做到这一点?

python datetime data-analysis pandas

6
推荐指数
1
解决办法
5566
查看次数

巨大的名单中的相似名称

我有50 000多家公司的数据库,不断更新(每月200多个).

重复内容是一个巨大的问题,因为名称并不总是严格/正确:
"超级1商店"
"超级一店"
"超级1商店"

编辑:另一个例子......可能需要不同的方法:
"Amy's Pizza"<--->"Amy and Company的有机比萨"

我们需要工具来扫描数据以寻找相似的名称.我对Levenshtein DistanceLCS有一些经验,但如果2个字符串相似,它们可以很好地进行比较...
在这里我需要扫描50 000个名字,每个可以分别对应并计算...总体相似度等级...

我需要建议如何攻击这个问题,预期的结果是有一个列表与10-20组非常相似的名称,并可能进一步调整灵敏度以获得更多结果.

php mysql data-analysis

6
推荐指数
1
解决办法
316
查看次数

从pandas数据帧生成保留队列

我有一个像这样的pandas数据框:

+-----------+------------------+---------------+------------+
| AccountID | RegistrationWeek | Weekly_Visits | Visit_Week |
+-----------+------------------+---------------+------------+
| ACC1      | 2015-01-25       |             0 | NaT        |
| ACC2      | 2015-01-11       |             0 | NaT        |
| ACC3      | 2015-01-18       |             0 | NaT        |
| ACC4      | 2014-12-21       |            14 | 2015-02-12 |
| ACC5      | 2014-12-21       |             5 | 2015-02-15 |
| ACC6      | 2014-12-21       |             0 | 2015-02-22 |
+-----------+------------------+---------------+------------+
Run Code Online (Sandbox Code Playgroud)

它本质上是一种各种访问日志,因为它包含创建队列分析所需的所有数据.

每个注册周都是一个队列.要知道我可以使用的人群中有多少人:

visit_log.groupby('RegistrationWeek').AccountID.nunique()
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个数据透视表,其中注册周作为键.列应为visit_weeks,值应为每周访问次数超过0次的唯一帐户ID的计数.

连同每个队列中的总帐户,我将能够显示百分比而不是绝对值.

最终产品看起来像这样:

+-------------------+-------------+-------------+-------------+
| Registration Week | Visit_week1 | …
Run Code Online (Sandbox Code Playgroud)

python data-analysis pandas retention

6
推荐指数
1
解决办法
4157
查看次数

如何计算点击率

这是一个例子,我有这个数据;

    datetime    keyword COUNT
0   2016-01-05  a_click 100
1   2016-01-05  a_pv    200
2   2016-01-05  b_pv    150
3   2016-01-05  b_click 90
4   2016-01-05  c_pv    120
5   2016-01-05  c_click 90
Run Code Online (Sandbox Code Playgroud)

我想将其转换为这些数据

    datetime    keyword ctr
0   2016-01-05  a       0.5
1   2016-01-05  b       0.6
2   2016-01-05  c       0.75
Run Code Online (Sandbox Code Playgroud)

我可以用脏代码转换数据,但我想以优雅的方式做到这一点.

python numpy machine-learning data-analysis pandas

6
推荐指数
1
解决办法
548
查看次数

如何将Json转换为R中的数据框

我想将我的json数据转换为R中的数据框.这是我到目前为止所做的:

library("rjson")
result <- fromJSON(file ="mypath/data.json")
json_data_frame <- as.data.frame(result)
Run Code Online (Sandbox Code Playgroud)

但是,它会出现这样的错误:

data.frame中的错误(company_id ="12345678",country_name ="China",:参数意味着行数不同:1,2,0

我也尝试了以下代码:

library("rjson")
result <- fromJSON(file ="mypath/data.json")
final_data <- do.call(rbind, result)
Run Code Online (Sandbox Code Playgroud)

这个错误出现了:

警告消息:在(function(...,deparse.level = 1)中:结果列数不是向量长度的倍数(arg 3)

我不知道这里发生了什么,我怎么解决它.如果我能得到一些帮助,我将不胜感激.

以下是我的json数据的一些部分:

{"business_id":"1234567","Country_name":"中国","小时":{"星期一":{"关闭":"02:00","开放":"11:00"},"星期二":{"close":"02:00","open":"11:00"},"星期五":{"关闭":"02:00","打开":"11:00"}, "星期三":{"关闭":"02:00","打开":"11:00"},"星期四":{"关闭":"02:00","打开":"11:00" },"星期日":{"关闭":"02:00","打开":"12:00"},"星期六":{"关闭":"02:00","打开":"12: 00"}},"open":true,"categories":["Bars","Nightlife","Restaurants"],"city":"Beijing","review_count":5,"name":"陈氏酒吧","邻里":["West End"],"attributes":{"Take-out":true,"Wi-Fi":"free","Good For":{"dessert":false,"latenight" ":false,"午餐":假,"吃饭":假,"早餐":假,"早午餐":假,"好跳舞":虚假,"噪音等级":"响亮","需要预约" :false,"Delivery":false,"Ambience":{"romantic":false,"intimate":false,"classy":false,"hipster":false,"divey":false,"touristy":false, "时髦":虚假,"高档":虚假,"随意":虚假},"欢乐时光":真实,"停车":{"车库":虚假,"街道":虚假,"验证":虚假,"很多":虚假,"代客":虚假},"有电视":是的, "户外座位":虚假,"服装":"休闲","酒精":"full_bar","服务员服务":真实,"接受信用卡":真实,"对孩子有益":虚假,"适合团体":true,"Caters":true,"Price Range":1},"type":"business"}

json r data-analysis

6
推荐指数
2
解决办法
2万
查看次数

如果列超过特定数量的NA值,则删除该列

我想写一个程序,如果它超过特定数量的NA值,就会删除一列.这就是我所做的.

def check(x):
for column in df:
    if df.column.isnull().sum() > 2:
        df.drop(column,axis=1)
Run Code Online (Sandbox Code Playgroud)

在执行上述代码时没有错误,但在执行操作时 df.apply(check),会出现大量错误.

PS:我知道关于thresh的争论 df.dropna(thresh,axis)

有什么提示吗?为什么我的代码不起作用?

谢谢

python data-analysis dataframe python-3.x pandas

6
推荐指数
1
解决办法
53
查看次数

数据分析中的缺失值

我有一个数据集,其中包含两个级别 Male(M) 和 Female(F) 的变量 GENDER 有很多缺失值。我如何处理缺失值?处理这些缺失值的不同方法是什么。任何帮助,将不胜感激。

machine-learning data-analysis method-missing missing-data

5
推荐指数
2
解决办法
2670
查看次数

对数据框中列中的数据进行分类

我的数据框中有一列数字,我想将这些数字分类为例如高、低、排除。我如何做到这一点。我一无所知,我尝试查看剪切函数和类别数据类型。

python machine-learning data-analysis pandas

5
推荐指数
1
解决办法
2万
查看次数