我认为例子会比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.
谢谢!
我正在尝试使用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笔记本.
我有像这样的熊猫数据帧; (通过解析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 DATE和MEETING TIME成一列.datetime.combine似乎做我想要的,但是,我需要以某种方式逐列地应用这个函数.我怎样才能做到这一点?
我有50 000多家公司的数据库,不断更新(每月200多个).
重复内容是一个巨大的问题,因为名称并不总是严格/正确:
"超级1商店"
"超级一店"
"超级1商店"
编辑:另一个例子......可能需要不同的方法:
"Amy's Pizza"<--->"Amy and Company的有机比萨"
我们需要工具来扫描数据以寻找相似的名称.我对Levenshtein Distance和LCS有一些经验,但如果2个字符串相似,它们可以很好地进行比较...
在这里我需要扫描50 000个名字,每个可以分别对应并计算...总体相似度等级...
我需要建议如何攻击这个问题,预期的结果是有一个列表与10-20组非常相似的名称,并可能进一步调整灵敏度以获得更多结果.
我有一个像这样的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) 这是一个例子,我有这个数据;
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)
我可以用脏代码转换数据,但我想以优雅的方式做到这一点.
我想将我的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"}
我想写一个程序,如果它超过特定数量的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)
有什么提示吗?为什么我的代码不起作用?
谢谢
我有一个数据集,其中包含两个级别 Male(M) 和 Female(F) 的变量 GENDER 有很多缺失值。我如何处理缺失值?处理这些缺失值的不同方法是什么。任何帮助,将不胜感激。
我的数据框中有一列数字,我想将这些数字分类为例如高、低、排除。我如何做到这一点。我一无所知,我尝试查看剪切函数和类别数据类型。
data-analysis ×10
python ×7
pandas ×5
numpy ×2
php ×2
algorithm ×1
dataframe ×1
datetime ×1
json ×1
missing-data ×1
mysql ×1
python-2.7 ×1
python-3.x ×1
r ×1
retention ×1
synonym ×1