小编DMM*_*MML的帖子

Python Pandas - 基于先前获取的子集从DataFrame中删除行

我运行Python 2.7Pandas 0.11.0安装的库.

我一直在寻找一个没有找到这个问题的答案,所以我希望有人比我有解决方案更有经验.

让我们说我的数据,在df1中,如下所示:

df1=

  zip  x  y  access
  123  1  1    4
  123  1  1    6
  133  1  2    3
  145  2  2    3
  167  3  1    1
  167  3  1    2
Run Code Online (Sandbox Code Playgroud)

例如,使用df2 = df1[df1['zip'] == 123]然后df2 = df2.join(df1[df1['zip'] == 133])我得到以下数据子集:

df2=

 zip  x  y  access
 123  1  1    4
 123  1  1    6
 133  1  2    3
Run Code Online (Sandbox Code Playgroud)

我想做的是:

1)从df1定义/连接时删除行df2

要么

2)df2创建完成后,删除df1由其df2 …

python pandas

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

Python 2.7 - statsmodels - 格式化和编写摘要输出

我在Mac OSX Lion上使用pandas 0.11.0(数据处理)进行逻辑回归并statsmodels 0.4.3进行实际回归.

我将运行~2,900种不同的逻辑回归模型,需要将结果输出到csv文件并以特定方式格式化.

目前,我只知道做了print result.summary()哪些打印结果(如下)到shell:

 Logit Regression Results                           
  ==============================================================================
 Dep. Variable:            death_death   No. Observations:                 9752
 Model:                          Logit   Df Residuals:                     9747
 Method:                           MLE   Df Model:                            4
 Date:                Wed, 22 May 2013   Pseudo R-squ.:                -0.02672
 Time:                        22:15:05   Log-Likelihood:                -5806.9
 converged:                       True   LL-Null:                       -5655.8
                                         LLR p-value:                     1.000
 ===============================================================================
                   coef    std err          z      P>|z|      [95.0% Conf. Int.]
 -------------------------------------------------------------------------------
 age_age5064    -0.1999      0.055     -3.619      0.000        -0.308    -0.092
 age_age6574    -0.2553      0.053     -4.847      0.000        -0.359    -0.152
 sex_female     -0.2515      0.044 …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas statsmodels

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

Scrapy:对数据库的多个返回/项目的建议

为了进一步详细说明这个问题的标题:我正在从电影网站上删除信息.我目前有一个MySQL填充了movie titles,movie urls等等的数据库.我现在urls要从数据库中取出它们并将它们设置为我start_urls的新数据库spider.每个url都是[插入abritrary电影]网页的链接,传达更多信息.我感兴趣的信息是:

  • 经销商(即福克斯)
  • 评级(即Pg-13)
  • 导向器
  • 流派(即喜剧)
  • 演员
  • 生产者/秒

其中,发行人,评级,导演和流派将从每个电影网页(一个评级,一个导演等)中与他们相关联.当然会有多个演员,并且取决于多个制片人(大片电影/大多数电影).这是我遇到问题的地方.我想建立一个pipeline' which puts each piece of info in an appropriatewithin myMySQL database. So, a table for director, a table for rating, etc. Each table will also have电影标题`.我可以这样说明问题本身:

我无法协调如何pipeline用适当的方法构建一个合适的spider.我不确定我是否可以从一个蜘蛛返回多个东西并将它们发送到不同的pipelines(创建不同的项来处理single属性,以及一个不同的项来处理'多个'属性)或是否使用相同的管道并以某种方式指定什么去哪里(不确定我是否只能在刮痧后返回一件事).我将展示我的代码,希望问题会变得更加清晰.*注意:它还没有完成 - 我只是想填写如何做到这一点的空白

蜘蛛:

  class ActorSpider(BaseSpider):
  import sys; sys.path.append("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages")
  import MySQLdb
  db = MySQLdb.connect(db = 'testdb', user='testuser', …
Run Code Online (Sandbox Code Playgroud)

pipeline multiple-tables scrapy

10
推荐指数
1
解决办法
3996
查看次数

CSV模块 - "用于阅读器中的行" - 在Mac和Windows之间

我使用Wing IDE在Mac上开发了一些代码.我开发的代码,它使用csv模块,正在工作,并在我的Mac上做我想要的.但问题是,我编写它的人需要在Windows上使用它.我并不关心代码,因为我没有使用任何转义字符.

代码如下所示:

csvfile = open('file.csv', 'r')
csvreader = csv.reader(csvfile, delimiter = ',')
for row in csvreader:
   thisVariable = row[0]  # <<<--------
Run Code Online (Sandbox Code Playgroud)

我在上面输入的'箭头'是在Windows机器上返回错误的地方.就像我说的那样,代码在Mac上运行良好,实际上,这在我编写的代码中相当远.在此语句上方读取和写入的其他CSV文件使用类似的索引.

我真的很感激任何人对此问题的看法!谢谢!

python windows csv indexing macos

3
推荐指数
1
解决办法
8604
查看次数

Python - Pandas'.isin'列表中

我在Mac OSX Lion上使用Python 2.7,在IPython shell上使用Pandas 0.11.0.

我有一个简短的问题,使用数据选择方法.isin.

问题是我想.isin在项目列表中使用,所以:

data = df[df[header[0]].isin(list)]
Run Code Online (Sandbox Code Playgroud)

我这样做时收到以下错误: KeyError: u'no item named '

我通过调用以前开发的函数生成初始列表.我尝试使用eval列表中,这似乎解决涉及使用时的一个问题上raw_input并遍历其内部的物品-有点儿试图找出一些过渡到时候我一直有问题IPython,并Python 2.7(最初使用Python 3.3).

我也尝试迭代列表,首先做:

data = df[df[header[0]].isin(list[0])]
Run Code Online (Sandbox Code Playgroud)

但这也会回归: KeyError: u'no item named '

更新:这是标题:

 Unnamed: 0         9752  non-null values
 zipcode            9752  non-null values
 xcoord             9752  non-null values
 ycoord             9752  non-null values
 age_age5064        9752  non-null values
 age_age6574        9752  non-null values
 age_age75plus      9752  non-null values
 sex_female         9752  non-null values
 sex_male           9752 …
Run Code Online (Sandbox Code Playgroud)

python-2.7 pandas

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

Python 2.7 - xlrd - 将字符串与单元格值匹配

在Mac OSX Lion上使用Python 2.7 xlrd

我的问题相对简单明了.我正在尝试将字符串与excel单元格值匹配,以确保与该值匹配的行中的其他数据是正确的值.

所以,比如说player = 'Andrea Bargnani',我希望匹配一个看起来像这样的行:

 Draft      Player                        Team
 1      Andrea Bargnani -   Toronto Raptors 
Run Code Online (Sandbox Code Playgroud)

我做:

 num_rows = draftSheet.nrows - 1
 cur_row = -1
 while cur_row < num_rows:
     cur_row += 1
     row = draftSheet.row(cur_row)
     if row[1] == player:
           ranking == row[0]
Run Code Online (Sandbox Code Playgroud)

问题是,价值row[1]text:u'Andrea Bargnani,而不仅仅是Andrea Bargnani.

我知道Excel 97之后的Excel都是unicode.但即使我这样做player = u'Andrea Bargnani',仍然有前面的text:.所以我试过了player = 'text:'u'Andrea Bargnani',但是当变量被调用时,它最终看起来像u'text: Andrea Bargnani仍然没有产生匹配.

我想删除test: u'返回的row[1]值以获得适当的匹配.

python unicode excel xlrd python-2.7

3
推荐指数
1
解决办法
8171
查看次数

MySQL-python:SELECT返回'long'而不是查询

我在使用mysql-python已建立的数据库上运行select查询时遇到问题.问题是返回一个数字,即所谓的Pythona long,而不是查询的数据 - 应该注意这个数字对应于应该返回的记录数量(我登录到数据库并运行查询MySQL到确保).

这是代码:

db = MySQLdb.connect(db = 'testdb', user='testuser', passwd='test', host='localhost', charset='utf8', use_unicode=True)
dbc = db.cursor()
result = dbc.execute("""SELECT %s FROM example_movie""", ('title',))
urls = [row[0] for row in result]
Run Code Online (Sandbox Code Playgroud)

最后一点代码urls = [row[0] for row in result]是将所有内容放入列表中.

错误如下所示:

 TypeError: 'long' object is not iterable
Run Code Online (Sandbox Code Playgroud)

当我有python print result它返回:

('RESULT:', 52L)
Run Code Online (Sandbox Code Playgroud)

当我附上result喜欢str(result)它只是返回的数量52(不long)

非常感谢任何帮助和建议!

mysql select mysql-python

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

Python - 创建一个空的Pandas DataFrame并使用For循环从另一个DataFrame填充

在Mac OSX Lion上使用:Python 2.7和Pandas 0.11.0

我正在尝试创建一个空DataFrame,然后根据a从另一个数据框填充它for loop.

我发现当我构造DataFrame然后使用for loop如下:

data = pd.DataFrame()
for item in cols_to_keep:
    if item not in dummies:
        data = data.join(df[item])
Run Code Online (Sandbox Code Playgroud)

结果为空DataFrame,但要从另一个添加相应列的标题DataFrame.

python-2.7 pandas

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