将Python的句子列表转换为pd.Series对象的方法是什么?
(pandas Series对象可以使用tolist()方法转换为列表;但是如何进行反向转换?)
我有一个句子列表:
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)
第一句的最后一个单词不应与第二句的第一个单词合并.我该怎么做才能让它发挥作用?
我有一个包含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) 我目前有一个文件,其中包含一个看起来像的列表
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 ..谢谢
假设我有一个数据帧:
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) 我有两个词典,需要将类似键的值组合在一起.这是一个例子:
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) 这是我的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) 假设我有一个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 个其他列的键作为列表形式的值吗??
我有一个数据帧:
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类别.我怎么能把两者结合起来?
从一列中的字符串中删除另一列中出现的单词的过程是什么?
例如:
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 ×9
pandas ×5
dataframe ×4
python-2.7 ×4
dictionary ×3
group-by ×2
list ×2
nltk ×2
text ×2
aggregate ×1
collocation ×1
matplotlib ×1
replace ×1
series ×1
string ×1
xml ×1
xpath ×1