小编Ann*_*nne的帖子

熊猫:将WinZipped csv文件转换为数据帧

我有几个WinZipped csv文件,并希望将其作为Pandas数据帧阅读.问题是,解压缩选项('gzip'或'bz2')似乎都不起作用.这是文件的样子:

00000000011!00023011!89011!200812
00000000012!00023011!89011!200812
00000000013!00023011!89011!200812
Run Code Online (Sandbox Code Playgroud)

因此,似乎我将不得不使用Python的zipfile模块解压缩文件,读取行并从我读入的内容创建数据框.我想这样做的方法是创建一个这样的字典列表:

[
    {"header1": 00000000011, "header2": 00023011, "header3": 89011, "header4": 200812}, 
    {"header1": 00000000012, "header2": 00023011, "header3": 89011, "header4": 200812},
    ...
]
Run Code Online (Sandbox Code Playgroud)

然后将其转换为数据框,如http://pandas.pydata.org/pandas-docs/stable/dsintro.html#from-a-list-of-dicts.

然而,这似乎涉及大量手动操作线 - 有没有更好的方法来做到这一点?

python pandas

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

Pandas:从系列中删除前导和尾随零值

我想从熊猫系列中删除前导和尾随零,即输入如

my_series = pandas.Series([0,0,1,2,0,3,4,0,0])
Run Code Online (Sandbox Code Playgroud)

应该屈服

pandas.Series([1,2,0,3,4])
Run Code Online (Sandbox Code Playgroud)

作为输出.

我可以通过删除第一个(和最后一个)零然后再次调用该方法来递归地执行此操作.有更多的pythonic方式吗?

python pandas

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

pandas dataframe - 过滤会产生意外错误'无法解决的类型'

以下Python片段给出了一个错误:

df = pandas.DataFrame({'A': ['UBS','UBS','ABB','UBS'], 'B': ['L', 'L', 'L', 'D']})
cols = ['A', 'A', 'B']
df = df[cols]
df = df[df['A'].isin(['UBS']) & (df['B'] != 'D')]    
Run Code Online (Sandbox Code Playgroud)

我得到的错误是unorderable types: str() < int().我会理解它是否抱怨重复列,但为什么它尝试(并且失败)比较整数和字符串?

如果我替换最后一行,df = df[df['A'].isin(['UBS'])]我会得到预期的错误消息,cannot reindex from a duplicate axis.

不可否认,这个例子是设计的(它是真实代码的一个简化示例),如果我交换最后两行代码可以正常工作,但我仍然想了解错误.

python pandas

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

Python的简洁让我感到困惑

我一直在看熊猫:NaN洞的长度,特别是评论中的这段代码片段:

Series([len(list(g)) for k, g in groupby(a.isnull()) if k]) 
Run Code Online (Sandbox Code Playgroud)

作为一个蟒蛇新手,我对简洁性印象深刻,但不知道如何阅读这个.它是否适用于某些方面

myList = []
for k, g in groupby(a.isnull()) :
    if k:
        myList.append(len(list(g)))
Series(myList)
Run Code Online (Sandbox Code Playgroud)

为了理解发生了什么,我试图玩它但是得到一个错误:

list object is not callable
Run Code Online (Sandbox Code Playgroud)

那里运气不多

如果有人能够对此有所了解,那将是可爱的.

谢谢,安妮

python

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

如何弄清楚语法错误?

我正在尝试编写一个SQL查询,不断给我一个语法错误.问题是,错误信息根本没有帮助我.

这是查询:

SELECT * 
FROM
   (SELECT     
        dbo.ciqCompanyUltimateParent.ultimateParentCompanyId, 
        COUNT(DISTINCT dbo.ciqCompany.companyId) AS Subsidiaries_Count, 
        COUNT(DISTINCT dbo.ciqCountryGeo.countryId) AS Countries_Count
    FROM         
        dbo.ciqCompanyUltimateParent 
    INNER JOIN
        dbo.ciqCompany ON dbo.ciqCompanyUltimateParent.companyId = dbo.ciqCompany.companyId  
    INNER JOIN
        dbo.ciqCountryGeo ON dbo.ciqCompany.countryId = dbo.ciqCountryGeo.countryId
    GROUP BY 
        dbo.ciqCompanyUltimateParent.ultimateParentCompanyId
     )
INNER JOIN 
    dbo.ciqCompany ON ultimateParentCompanyId = dbo.ciqCompany.companyId 
Run Code Online (Sandbox Code Playgroud)

括号中的东西在我执行它时工作正常(即它执行并返回一个表).但是,最后一个INNER JOIN给我以下错误:

消息156,级别15,状态1,行10
关键字"INNER"附近的语法不正确.

更糟糕的是,当我将上述声明减少到时

SELECT * 
FROM
    (SELECT     
        dbo.ciqCompanyUltimateParent.ultimateParentCompanyId, 
        COUNT(DISTINCT dbo.ciqCompany.companyId) AS Subsidiaries_Count, 
        COUNT(DISTINCT dbo.ciqCountryGeo.countryId) AS Countries_Count
     FROM         
        dbo.ciqCompanyUltimateParent 
     INNER JOIN
        dbo.ciqCompany ON dbo.ciqCompanyUltimateParent.companyId = dbo.ciqCompany.companyId 
     INNER JOIN
        dbo.ciqCountryGeo ON dbo.ciqCompany.countryId = dbo.ciqCountryGeo.countryId
     GROUP BY …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

如果我系统地删除每个第n个,随机数是否仍然是随机的?

我目前正在使用numpy.random.random_sample计算大量随机数.如果我删除这些数字中的每10个,结果是否仍然像以前一样随机?或者我会通过这样做引入一些偏差?

编辑:正如所指出的,归结为我的RNG有多好.我怎样才能知道我是否可以信任RNG,或者我如何发现潜在的偏差?

python random numpy

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

Numpy随机数 - 一次性或反复呼叫?

我需要在[0,1]中计算类似10 ^ 8个均匀分布的数字,用于蒙特卡罗模拟.我可以看到两种方法来获取这些 - 计算我需要的所有随机数,例如通过使用

numpy.random.random_sample(however_many_I_need)
Run Code Online (Sandbox Code Playgroud)

或反复打电话

numpy.random.random_sample()
Run Code Online (Sandbox Code Playgroud)

两种方法之间的随机数的速度或质量是否有任何差异?

python random numpy

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

标签 统计

python ×6

pandas ×3

numpy ×2

random ×2

sql ×1

sql-server ×1