私信  •  关注

rahlf23

rahlf23 最近创建的主题
rahlf23 最近回复了
4 年前
回复了 rahlf23 创建的主题 » Python和Pandas:构造lambda参数

你可以用 pd.cut() 要执行映射,这比必须在 if-else 声明:

import pandas as pd

df = pd.DataFrame({'composition_score': [40, 35, 31, 27]})
composition_score_value = 40

bins = pd.IntervalIndex.from_tuples([(0, 70), (70,80), (80,90), (90,100)])
labels = ['Unsatisfactory work.','Improvement needed.','Satisfactory work.','Good work.']
d = dict(zip(bins,labels))
x = pd.cut(df['composition_score']/composition_score_value*100, bins, right=False).map(d)

产量:

0              Good work.
1      Satisfactory work.
2     Improvement needed.
3    Unsatisfactory work.
Name: composition_score, dtype: category
Categories (4, object): ['Unsatisfactory work.' < 'Improvement needed.' < 'Satisfactory work.' < 'Good work.']
6 年前
回复了 rahlf23 创建的主题 » 基于python中两个短序列的过滤行

您可以使用regex和字典理解:

import re

with open('test.txt', 'r') as f:
    lines = f.readlines()
    data = dict(zip(lines[::2],lines[1::2]))

{k.strip(): v.strip() for k,v in data.items() if re.findall(r'AATAAA\w{2,}GGAC', v)}

返回:

{'>chr16:134222-134283': 'AGCTGGAAGCAGCGTGAATAAAACAGAATGGCCGGGACCTTAAAGGCTTTGCTTGGCCTGG'}
6 年前
回复了 rahlf23 创建的主题 » Python中的循环导入和子类

您可以执行以下任一操作:

import module1

class Subclass(module1.Superclass):
    pass
    #some code

或:

from module1 import Superclass

class Subclass(Superclass):
    pass
    #some code

python需要知道1)它可以通过哪个命名空间访问类,或者2)显式导入类。

为了清楚起见, module1 可能如下所示:

class Superclass:
    pass
    #some code

例子

为了 module1.py 以下内容:

class Superclass:

    def __init__(self):
        pass

    def a(self):
        print('a')

    def b(self):
        print('b')

然后 module2.py 以下内容:

from module1 import Superclass

class Subclass(Superclass):
    pass

x = Subclass().a()

跑步 模块2.py 将返回:

a
6 年前
回复了 rahlf23 创建的主题 » 如何使用构造函数关键字参数指定python类属性

是的,你可以做到以下几点,但是我不建议这样做明显违反了 显式优于隐式 原则:

class BlankStruct:

    def __init__(self, **attrs):
        self.__dict__.update(**attrs)
    def __getattr__(self, attr):
        return self.__dict__.get(attr, None)

f = BlankStruct(spam=0, eggs=1)

有更完整的答复 here 启发了这个答案。

我建议你 明确的 在你想要你的类拥有的属性方面。否则,您将只剩下一个具有高度可变性的类,这可能会降低它的有用性。