小编Par*_*gue的帖子

解决"DLL加载失败:%1不是有效的Win32应用程序".对于Pygame

我最近为Python 3.1安装了Python 3.1和Pygame模块当我在控制台中输入import python时,我收到以下错误:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    import pygame
  File "C:\Python31\lib\site-packages\pygame\__init__.py", line 95, in <module>
    from pygame.base import *
ImportError: DLL load failed: %1 is not a valid Win32 application.
Run Code Online (Sandbox Code Playgroud)

请帮忙!

python pygame

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

根据pandas中的另一个值更改一个值

我正在尝试将我的Stata代码重新编程为Python以提高速度,我指出了PANDAS的方向.但是,我很难绕过如何处理数据.

假设我想迭代列标题'ID'中的所有值.如果该ID与特定数字匹配,那么我想更改两个对应的值FirstName和LastName.

在Stata中它看起来像这样:

replace FirstName = "Matt" if ID==103
replace LastName =  "Jones" if ID==103
Run Code Online (Sandbox Code Playgroud)

因此,这将FirstName中与ID == 103的值对应的所有值替换为Matt.

在PANDAS,我正在尝试这样的事情

df = read_csv("test.csv")
for i in df['ID']:
    if i ==103:
          ...
Run Code Online (Sandbox Code Playgroud)

不知道从哪里开始.有任何想法吗?

python pandas

81
推荐指数
5
解决办法
12万
查看次数

蟒蛇; urllib错误:AttributeError:'bytes'对象没有属性'read'

注意:这是Python 3,没有urllib2.此外,我已经尝试使用json.loads(),我收到此错误:

TypeError: can't use a string pattern on a bytes-like object
Run Code Online (Sandbox Code Playgroud)

如果我使用json.loads()并从响应中删除.read(),我会收到此错误:

TypeError: expected string or buffer
Run Code Online (Sandbox Code Playgroud)

>

import urllib.request
import json

response = urllib.request.urlopen('http://www.reddit.com/r/all/top/.json').read()
jsonResponse = json.load(response)

for child in jsonResponse['data']['children']:
    print (child['data']['title'])
Run Code Online (Sandbox Code Playgroud)

不起作用......我不明白为什么.

python urllib python-3.x

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

使用Python和Mechanize提交表单数据并进行身份验证

我想提交登录Reddit.com网站,导航到页面的特定区域,并提交评论.我没有看到这段代码出了什么问题,但它没有起作用,Reddit网站上没有反映出任何变化.

import mechanize
import cookielib


def main():

#Browser
br = mechanize.Browser()


# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

#Opens the site to be navigated
r= br.open('http://www.reddit.com')
html = r.read()

# Select the second (index one) form
br.select_form(nr=1)

# User credentials
br.form['user'] = 'DUMMYUSERNAME'
br.form['passwd'] = 'DUMMYPASSWORD'

# Login
br.submit()

#Open up comment page
r= br.open('http://www.reddit.com/r/PoopSandwiches/comments/f47f8/testing/')
html = r.read()

#Text …
Run Code Online (Sandbox Code Playgroud)

python networking screen-scraping mechanize

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

查找可以最快说出的单词和单词组合

我非常喜欢发现可以很快敲击的句子.例如,"必须读一点维基百科"或"不想用一瓶麦芽在阴沟里结束".(乔治·沃茨基)

我想用Python编写一个程序,使我能够找到可以清晰表达的单词(或单词组合),使其在说话时听起来非常快.

我最初认为具有高音节比率的单词将是最好的,但是在编写Python程序来找到这些单词时,我只检索了非常简单的单词,这些单词听起来并不快(例如"iowa").

所以我对实际上听起来很快的话语感到茫然.这是语素与字母的比率吗?它是交替的元音 - 辅音对的数量吗?

你们将如何设计一个python程序来解决这个问题?

python algorithm nlp linguistics cpu-word

13
推荐指数
1
解决办法
1140
查看次数

Python-哪个单词可以删除最多的连续字母,仍然是字典有效的单词?

我使用这个可怕且低效的实现来找到可以删除最多连续最后一个字母的单词并且仍然是一个单词.

例如,Rodeo是众所周知的:Rodeo,Rode,Rod,Ro.该计划找到了"作曲家":作曲家,作曲家,作曲家,作曲家,作曲家

我不知道我应该如何去创建一个发现可以有任何字母(不只是最后的)移除,它仍然被认为是一个字的最长的单词的程序:

例如:野兽,最好,下注,是 - 将是一个有效的可能性

这是我的程序,找到删除连续字母的那个(我也有兴趣听听如何改进和优化):

#Recursive function that finds how many letters can be removed from a word and
#it still be valid.  
def wordCheck(word, wordList, counter):

    if len(word)>=1:
        if word in wordList:
            return (wordCheck(word[0:counter-1], wordList, counter-1))
        else:
            return counter
    return counter


def main():
    a = open('C:\\Python32\\megalist2.txt', 'r+')
    wordList = set([line.strip() for line in a])
    #megaList contains a sorted list of tuple of 
    #(the word, how many letters can be removed  consecutively)
    megaList = sorted([(i, len(i)-1- wordCheck(i, wordList, …
Run Code Online (Sandbox Code Playgroud)

python algorithm performance cpu-word

12
推荐指数
2
解决办法
2322
查看次数

在绑定之前自动将一个数据框的所有列类型强制为另一个数据框的类型

假设我有两个要绑定的数据框:

ds_a <- data.frame(
  x = 1:6,
  y = 5,
  z = "4",
  l = 2,
  stringsAsFactors = FALSE
)

ds_b <- data.frame(
  x = as.factor(1:6),
  y = "5",
  p = 2,
  stringsAsFactors = FALSE
)
Run Code Online (Sandbox Code Playgroud)

当我尝试绑定它们时,出现以下错误:

> bind_rows(ds_a, ds_b)
Error: Can't combine `..1$x` <integer> and `..2$x` <factor<4c79c>>.
Run Code Online (Sandbox Code Playgroud)

通常,我解决这个问题的方法是将两个数据框中的所有列都转换为字符,绑定两个数据框,然后手动将所有列重新转换回其原始类型。

有没有一种方法可以通过自动转换 的列来简单地强制ds_a和之间的所有类型冲突以匹配ds_bds_bds_a(假设它们的名称相同)

更一般地说,我想要一个解决方案来自动将所有列转换为列名称匹配ds_b的类型。如果并且不共享所有相同的列,ds_a则该解决方案应该有效(当一个列中不存在但在另一个中存在列时,只需填充 NA )。ds_bds_a

这是预期的结果:

ds_merged =read.table(text = 'x y z l p 
1 1 5 4 2 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

12
推荐指数
2
解决办法
1593
查看次数

修改dplyr中的单个单元格值

假设我有以下数据集:

dat <- read.table(text="id_1 id_2 
                  123 NA
                  456 NA
                  NA 3
                  NA 1
                  NA 1", header=T)
Run Code Online (Sandbox Code Playgroud)

我想更改id_1第一行的值。我想做这样的事情:

dat %>% slice(1) %>% mutate(id_1 == "new_id") %>% unslice()
Run Code Online (Sandbox Code Playgroud)

然而,似乎没有命令unslice,所以我留下了一个只有一行(修改后的)的数据框。就地修改后是否有一种干净的方法可以恢复原始数据集?

r dplyr

11
推荐指数
1
解决办法
9684
查看次数

删除文件输出中的换行符/返回载体

我有一个单词列表,其中包含用于分隔每个新字母的返回.有没有办法在Python中使用文件I/O以编程方式删除每个返回?

编辑:我知道如何操纵字符串来删除返回.我想物理编辑该文件,以便删除这些返回.

我正在寻找这样的东西:

wfile = open("wordlist.txt", "r+")           
for line in wfile:
    if len(line) == 0:
        # note, the following is not real... this is what I'm aiming to achieve.
        wfile.delete(line)
Run Code Online (Sandbox Code Playgroud)

python io file

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

如果单元格不包含'@',则删除整行的有效方法

我正在创建一个快速子来对电子邮件进行有效性检查.我想删除"E"列中不包含"@"的整行联系人数据.我使用下面的宏,但操作太慢,因为Excel在删除后移动所有行.

我尝试过这样的另一种技术:set rng = union(rng,c.EntireRow)然后删除整个范围,但我无法阻止错误消息.

我还尝试了将每一行添加到选择中,并在选择了所有内容后(如在ctrl + select中),随后将其删除,但我找不到相应的语法.

有任何想法吗?

Sub Deleteit()
    Application.ScreenUpdating = False

    Dim pos As Integer
    Dim c As Range

    For Each c In Range("E:E")

        pos = InStr(c.Value, "@")
        If pos = 0 Then
            c.EntireRow.Delete
        End If
    Next

    Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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