小编cs9*_*s95的帖子

这段代码中list [:]的含义是什么?

此代码来自Python的文档.我有点困惑.

words = ['cat', 'window', 'defenestrate']
for w in words[:]:
    if len(w) > 6:
        words.insert(0, w)
print(words)
Run Code Online (Sandbox Code Playgroud)

以下是我最初的想法:

words = ['cat', 'window', 'defenestrate']
for w in words:
    if len(w) > 6:
        words.insert(0, w)
print(words)
Run Code Online (Sandbox Code Playgroud)

为什么这段代码创建了一个无限循环而第一个没有?

python iteration for-loop list

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

子集化Python DataFrame

我正在从R转换到Python.我刚刚开始使用熊猫.我有一个R代码很好地子集:

k1 <- subset(data, Product = p.id & Month < mn & Year == yr, select = c(Time, Product))
Run Code Online (Sandbox Code Playgroud)

现在,我想在Python中做类似的事情.这是我到目前为止所得到的:

import pandas as pd
data = pd.read_csv("../data/monthly_prod_sales.csv")


#first, index the dataset by Product. And, get all that matches a given 'p.id' and time.
 data.set_index('Product')
 k = data.ix[[p.id, 'Time']]

# then, index this subset with Time and do more subsetting..
Run Code Online (Sandbox Code Playgroud)

我开始觉得我这样做是错误的.或许,有一个优雅的解决方案.有人可以帮忙吗?我需要从我的时间戳中提取月份和年份并进行子集化.也许有一个单行程将完成所有这些:

k1 <- subset(data, Product = p.id & Time >= start_time & Time < end_time, select = c(Time, Product))
Run Code Online (Sandbox Code Playgroud)

谢谢.

python subset pandas

56
推荐指数
3
解决办法
15万
查看次数

在Python中更改文件扩展名

假设从index.pyCGI,我有帖子文件foo.fasta显示文件.我想将foo.fasta文件扩展名更改为foo.aln显示文件.我该怎么做?

python file-extension rename

55
推荐指数
6
解决办法
8万
查看次数

从-1开始的循环不会打印任何内容

该程序应该打印出来的元素array,但是当它运行时,没有显示输出.

#include <stdio.h>

#define TOTAL_ELEMENTS  (sizeof(array) / sizeof(array[0]))

int array[] = { 23, 34, 12, 17, 204, 99, 16 };

int main() {
    int d;
    for (d = -1; d <= (TOTAL_ELEMENTS - 2); d++) 
        printf("%d\n", array[d + 1]);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么这个程序没有显示任何输出?

c integer loops sizeof negative-number

55
推荐指数
3
解决办法
7233
查看次数

"from __future__ import braces"代码在哪里?

我想知道在命令上执行的代码究竟是什么:

>>> from __future__ import braces
SyntaxError: not a chance
Run Code Online (Sandbox Code Playgroud)

所以,因为python是开源的,我打开C:\Python27\Lib\__future__.py并查看.令人惊讶的是,我发现没有处理导入braces模块的东西.

所以,我的问题是,处理这个问题的代码在哪里?当我运行该命令时会发生什么?

python python-2.7 python-internals

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

Pandas:向DataFrame添加多个空列

这可能是一个愚蠢的问题,但如何从列表中向DataFrame添加多个空列?

我可以:

df["B"] = None
df["C"] = None
df["D"] = None
Run Code Online (Sandbox Code Playgroud)

但我做不到:

df[["B", "C", "D"]] = None

KeyError: "['B' 'C' 'D'] not in index"
Run Code Online (Sandbox Code Playgroud)

python pandas

54
推荐指数
6
解决办法
5万
查看次数

Python Pandas DataFrame删除空单元格

我有一个通过解析一些excel电子表格创建的pd.DataFrame.其中一列有空单元格.例如,下面是该列频率的输出,32320记录缺少租户的值.

   In [67]: value_counts(Tenant,normalize=False)
   Out[67]:
                              32320
   Thunderhead                8170
   Big Data Others            5700
   Cloud Cruiser              5700
   Partnerpedia               5700
   Comcast                    5700
   SDP                        5700
   Agora                      5700
   dtype: int64
Run Code Online (Sandbox Code Playgroud)

我试图删除租户丢失的行,但是isnull选项无法识别缺失的值.

   In [71]: df['Tenant'].isnull().sum()
   Out[71]: 0
Run Code Online (Sandbox Code Playgroud)

该列的数据类型为"Object".在这种情况下发生了什么?如何删除租户丢失的记录?

python pandas

53
推荐指数
5
解决办法
14万
查看次数

Angular中的单元测试点击事件

我正在尝试将单元测试添加到我的Angular 2应用程序中.在我的一个组件中,有一个带有(click)处理程序的按钮.当用户单击该按钮时,将调用在.ts类文件中定义的函数.该函数在console.log窗口中打印一条消息,说明该按钮已被按下.我目前的测试代码测试打印console.log消息:

describe('Component: ComponentToBeTested', () => {
    var component: ComponentToBeTested;

    beforeEach(() => {
        component = new ComponentToBeTested();
        spyOn(console, 'log');
    });

    it('should call onEditButtonClick() and print console.log', () => {
        component.onEditButtonClick();
        expect(console.log).toHaveBeenCalledWith('Edit button has been clicked!);
    });
});
Run Code Online (Sandbox Code Playgroud)

但是,这只测试控制器类,而不是HTML.我不只是想测试onEditButtonClick调用时发生的日志记录; 我还想测试onEditButtonClick当用户单击组件的HTML文件中定义的编辑按钮时调用.我怎样才能做到这一点?

jasmine typescript angular

53
推荐指数
3
解决办法
9万
查看次数

使用pandas快速删除标点符号

这是一个自我回答的帖子.下面我概述NLP域中的一个常见问题,并提出一些高效的方法来解决它.

通常需要在文本清理和预处理期间去除标点符号.标点符号定义为以下任何字符string.punctuation:

>>> import string
string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
Run Code Online (Sandbox Code Playgroud)

这是一个很常见的问题,并且在恶心之前就被问过了.最惯用的解决方案是使用熊猫str.replace.但是,对于涉及大量文本的情况,可能需要考虑更高性能的解决方案.

str.replace在处理数十万条记录时,有哪些优秀,高效的替代方案?

python regex string numpy pandas

48
推荐指数
3
解决办法
5392
查看次数

如何连接列值在一定范围内的两个数据帧?

给定两个dataframes df_1df_2如何加入他们的行列,使得datetime列df_1是介于两者之间start,并end 在数据帧df_2:

print df_1

  timestamp              A          B
0 2016-05-14 10:54:33    0.020228   0.026572
1 2016-05-14 10:54:34    0.057780   0.175499
2 2016-05-14 10:54:35    0.098808   0.620986
3 2016-05-14 10:54:36    0.158789   1.014819
4 2016-05-14 10:54:39    0.038129   2.384590


print df_2

  start                end                  event    
0 2016-05-14 10:54:31  2016-05-14 10:54:33  E1
1 2016-05-14 10:54:34  2016-05-14 10:54:37  E2
2 2016-05-14 10:54:38  2016-05-14 10:54:42  E3
Run Code Online (Sandbox Code Playgroud)

获取相应的event位置和df1.timestamp之间df_2.startdf2.end

  timestamp              A          B          event
0 2016-05-14 10:54:33 …
Run Code Online (Sandbox Code Playgroud)

python datetime intervals dataframe pandas

47
推荐指数
5
解决办法
3521
查看次数