小编Hyp*_*nja的帖子

将Python列表转换为pandas系列

将Python的句子列表转换为pd.Series对象的方法是什么?

(pandas Series对象可以使用tolist()方法转换为列表;但是如何进行反向转换?)

python list series dataframe pandas

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

用Python编写句子列表中的单词Bigrams

我有一个句子列表:

text = ['cant railway station','citadel hotel',' police stn']. 
Run Code Online (Sandbox Code Playgroud)

我需要形成双字节对并将它们存储在变量中.问题是,当我这样做时,我会得到一对句子而不是单词.这是我做的:

text2 = [[word for word in line.split()] for line in text]
bigrams = nltk.bigrams(text2)
print(bigrams)
Run Code Online (Sandbox Code Playgroud)

产量

[(['cant', 'railway', 'station'], ['citadel', 'hotel']), (['citadel', 'hotel'], ['police', 'stn'])
Run Code Online (Sandbox Code Playgroud)

不能火车站和城堡酒店组成一个二元组.我想要的是

[([cant],[railway]),([railway],[station]),([citadel,hotel]), and so on...
Run Code Online (Sandbox Code Playgroud)

第一句的最后一个单词不应与第二句的第一个单词合并.我该怎么做才能让它发挥作用?

python list-comprehension list nltk collocation

20
推荐指数
4
解决办法
5万
查看次数

使用灵活类型plt.hist无法执行缩减

我有一个包含1000个元素及其各自频率的数据集.我需要绘制前十个出现元素的直方图.
我做了:

  top_words = Counter(my_data).most_common()  
  top_words_10 = top_words[:10]  
  plt.hist(top_words_10,label='True')    
Run Code Online (Sandbox Code Playgroud)

并得到此错误:

TypeError                                   
  Traceback (most recent call last) 
<ipython-input-29-ff974b3a2354> in <module>()  
      5  print top_words[:10]  
      6   
----> 7 plt.hist(top_words_10)    
C:\Anaconda\lib\site-packages\numpy\core\_methods.pyc in _amin(a, axis, out, keepdims)  
     12 def _amin(a, axis=None, out=None, keepdims=False):  
     13     return um.minimum.reduce(a, axis=axis,  
---> 14                             out=out, keepdims=keepdims)  
     15   
     16 def _sum(a, axis=None, dtype=None, out=None, keepdims=False):  


TypeError: cannot perform reduce with flexible type
Run Code Online (Sandbox Code Playgroud)

任何的想法??我的数据看起来像这样:

[(' whitefield', 65299), (' bellandur', 57061), (' kundalahalli', 51769), (' marathahalli', 50639), (' electronic city', 44041), (' sarjapur …
Run Code Online (Sandbox Code Playgroud)

python text matplotlib word-frequency

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

在句子列表中标记单词Python

我目前有一个文件,其中包含一个看起来像的列表

example = ['Mary had a little lamb' , 
           'Jack went up the hill' , 
           'Jill followed suit' ,    
           'i woke up suddenly' ,
           'it was a really bad dream...']
Run Code Online (Sandbox Code Playgroud)

"example"是这样的句子列表,我希望输出看起来像:

mod_example = ["'Mary' 'had' 'a' 'little' 'lamb'" , 'Jack' 'went' 'up' 'the' 'hill' ....] 等等.我需要将每个单词标记为单独的句子,以便我可以将mod_example(一次使用for循环)的句子中的每个单词与参考句子进行比较.

我试过这个:

for sentence in example:
    text3 = sentence.split()
    print text3 
Run Code Online (Sandbox Code Playgroud)

得到了以下输出:

['it', 'was', 'a', 'really', 'bad', 'dream...']
Run Code Online (Sandbox Code Playgroud)

我如何为所有句子得到这个? 它会一直覆盖.是的,还要提一下我的方法是否正确?这应该是一个单词列表,标记为tokenized ..谢谢

text nltk python-2.7

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

从groupby对象Python创建一个字典

假设我有一个数据帧:

df = pd.DataFrame({'Type' : ['Pokemon', 'Pokemon', 'Bird', 'Pokemon', 'Bird', 'Pokemon', 'Pokemon', 'Bird'],'Name' : ['Jerry', 'Jerry', 'Flappy Bird', 'Mudkip','Pigeon', 'Mudkip', 'Jerry', 'Pigeon']})  
Run Code Online (Sandbox Code Playgroud)

我根据类型分组:

print df.groupby(['Type','Name'])['Type'].agg({'Frequency':'count'})

                           Frequency
Type    Name                  
Bird    Flappy Bird          1
        Pigeon               2
Pokemon Jerry                3
        Mudkip               2
Run Code Online (Sandbox Code Playgroud)

我可以从上面的组创建一个字典吗?该键 "Bird"将包含列表的值['Pigeon',Flappy Bird'].注意,较高频率的名字应该出现首先在值列表.

预期产出:

dict1 = { 'Bird':['Pigeon','Flappy Bird'] , 'Pokemon':['Jerry','Mudkip'] }
Run Code Online (Sandbox Code Playgroud)

python dictionary group-by pandas

11
推荐指数
2
解决办法
8478
查看次数

将2个词典与共同键组合在一起

我有两个词典,需要将类似键的值组合在一起.这是一个例子:

dict1 = {'key1':[value11,value12,value13] , 'key2':[value21,value22,value23]}
dict2 = {'key1':[value14,value15] , 'key2':[value24,value25]}
Run Code Online (Sandbox Code Playgroud)

我用了 :

dict3 = {}
for key in (dict1.viewkeys() | dict2.keys()):
    if key in dict1: dict3.setdefault(key, []).append(dict1[key])
    if key in dict2: dict3.setdefault(key, []).append(dict2[key])
Run Code Online (Sandbox Code Playgroud)

这给了我:

dict3 = {'key1':[[value11,value12,value13],[value14,value15]] , 'key2':[[value21,value22,value23],[value24,value25]]}
Run Code Online (Sandbox Code Playgroud)

我想要的是一个简单的:

期望的输出:

 dict3 = {'key1':[value11,value12,value13,value14,value15] , 'key2':[value21,value22,value23,value24,value25]}
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.7

8
推荐指数
1
解决办法
4539
查看次数

Xpath local-name()中的属性

这是我的xml文件的一小部分示例.

<w:p xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
   <w:pPr>
      <w:rPr>
         <w:highlight w:val="yellow"/>
      </w:rPr>
   </w:pPr>
   <w:bookmarkStart w:id="0" w:name="_GoBack"/>
   <w:bookmarkEnd w:id="0"/>
   <w:r w:rsidRPr="00D1434D">
      <w:rPr>
         <w:rFonts w:ascii="Times New Roman"
                   w:eastAsia="MS PGothic"
                   w:hAnsi="Times New Roman"/>
         <w:b/>
         <w:color w:val="000000"/>
         <w:sz w:val="24"/>
         <w:szCs w:val="24"/>
         <w:highlight w:val="yellow"/>
      </w:rPr>
      <w:t xml:space="preserve">Responses to </w:t>
   </w:r>
   <w:r w:rsidR="00335D4A" w:rsidRPr="00D1434D">
      <w:rPr>
         <w:rFonts w:ascii="Times New Roman"
                   w:eastAsia="MS PGothic"
                   w:hAnsi="Times New Roman"/>
         <w:b/>
         <w:color w:val="000000"/>
         <w:sz w:val="24"/>
         <w:szCs w:val="24"/>
         <w:highlight w:val="yellow"/>
         <w:lang w:eastAsia="ja-JP"/>
      </w:rPr>
      <w:t>the Reviewer</w:t>
   </w:r>
</w:p> 
Run Code Online (Sandbox Code Playgroud)

我想提取具有w:highlight特定属性value= "黄色"的标签的文本.我搜索了它,但无法提出解决方案.

以下作品一般用于突出显示:

for t …
Run Code Online (Sandbox Code Playgroud)

python xml xpath python-2.7

7
推荐指数
1
解决办法
8879
查看次数

将数据框转换为具有列表值的字典

假设我有一个Dataframe df:

Label1    Label2        Label3
key1      col1value1    col2value1
key2      col1value2    col2value2
key3      col1value3    col2value3


dict1 = df.set_index('Label1').to_dict() 
Run Code Online (Sandbox Code Playgroud)

当我们有 2 列时,这有效..

预期输出:

my_dict = {key1: [col1value1,col2value1] , key2: [ col1value2,col2value2] , key3:[col1value3,col2value3] }
Run Code Online (Sandbox Code Playgroud)

我可以to_dict在 Dataframe df上使用一个带有2 个其他列的键作为列表形式的值吗??

python dictionary dataframe python-2.7 pandas

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

计算MAD(平均绝对偏差)GroupBy Pandas

我有一个数据帧:

Type Name Cost
  A   X    545
  B   Y    789
  C   Z    477
  D   X    640
  C   X    435
  B   Z    335
  A   X    850
  B   Y    152
Run Code Online (Sandbox Code Playgroud)

我的数据框中有所有这样的组合,类型为['A','B','C','D']和名称['X','Y','Z'].我使用groupby方法获取特定组合的统计数据,如AX,AY,AZ.这是一些代码:

df = pd.DataFrame({'Type':['A','B','C','D','C','B','A','B'] ,'Name':['X','Y','Z','X','X','Z','X','Y'], 'Cost':[545,789,477,640,435,335,850,152]})
df.groupby(['Name','Type']).agg([mean,std])  
#need to use mad instead of std  
Run Code Online (Sandbox Code Playgroud)

我需要消除超过3 MAD的观察结果; 就像是:

test = df[np.abs(df.Cost-df.Cost.mean())<=(3*df.Cost.mad())]
Run Code Online (Sandbox Code Playgroud)

我对此感到困惑,因为df.Cost.mad()返回整个数据上的Cost的MAD而不是特定的Type-Name类别.我怎么能把两者结合起来?

python group-by aggregate dataframe pandas

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

删除其他列中出现的单词,Pandas

从一列中的字符串中删除另一列中出现的单词的过程是什么?

例如:

Sr       A              B                            C
1      jack        jack and jill                 and jill
2      run         you should run,               you should ,
3      fly         you shouldnt fly,there        you shouldnt ,there
Run Code Online (Sandbox Code Playgroud)

可以看出我想要的column C是B 减去 A 的内容。请注意第三个示例,其中fly后面跟着一个逗号,因此它还应该考虑标点符号(如果代码更倾向于检测其周围的空格)。
Column A还可以有 2 个单词,因此需要将其删除。
我需要 Pandas 中的表达式,例如:

df.apply(lambda x: x["C"].replace(r"\b"+x["A"]+r"\b", "").strip(), axis=1)
Run Code Online (Sandbox Code Playgroud)

python string replace dataframe pandas

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