我有一个数据集
,如下所示,S.No Country Budget Technology
1 Israel 100 javascript,css,html
2 United States 450 python,css3,database
3 Australia 300 javascript,angular,node
4 Russia 250 javascript,php,python
5 Israel 700 python, php
. . . .
. . . .
我已经标记了技术列并计算了最受欢迎的技术。我也计算了预算最高的国家。
现在,我正在尝试找到技术的组合。比如,Javascript被使用哪些技术更频繁?由于我对数据集进行了标记并拆分了它,因此我无法重新组合并将其用于此目的。
我想计算一下,Javascript更常用于css3,然后是html,然后是node等(只是一个例子(。有什么方法可以做到吗?另外,我必须看看哪些国家更频繁地使用哪些技术?比如,JavaScript在澳大利亚,以色列,俄罗斯被更多地使用,而Python在美国被使用。这应该根据计数计算。
IIUC:
这告诉你使用和不使用js的其他技术
df.Technology.str.get_dummies(',').groupby('javascript').sum()
php angular css css3 database html node php python
javascript
1 0 1 1 0 0 1 1 1 1
0 1 0 0 1 1 0 0 0 2
您可以使用字典。遍历数据集,检查是否提到了 JavaScript。如果是这样,对于每一个技术增量,它都是计数器。因此,您将拥有javascript提到的技术字典及其频率。
我试过这个,它有效。您只需要检查字符串是否包含一组特定的字符。这将为您提供哪些国家/地区正在使用特定技术。请评论您还需要什么,我会帮助您。:
from collections import Counter
df['Technology'] = df['Technology'].apply(lambda x: Counter(x.split(',')))
print(df['Technology'])
>>> df['Technology']
0 {u'javascript': 1, u'html': 1, u'css': 1}
1 {u'node': 1, u'javascript': 1, u'angular': 1}
2 {u'python': 1, u'javascript': 1, u'php': 1}