什么是更优雅的写作方式:
df[df['income'] > 0].count()['income']
Run Code Online (Sandbox Code Playgroud)
我想简单地计算满足条件的列值的数量(在本例中,条件只是大于零,但我想要一种适用于任何任意条件或条件集的方法)。如果列名不需要在表达式中出现两次,显然会更优雅。希望应该很容易。
我正在尝试从 NLTK 停用词列表中添加和删除单词:
from nltk.corpus import stopwords
stop_words = set(stopwords.words('french'))
#add words that aren't in the NLTK stopwords list
new_stopwords = ['cette', 'les', 'cet']
new_stopwords_list = set(stop_words.extend(new_stopwords))
#remove words that are in NLTK stopwords list
not_stopwords = {'n', 'pas', 'ne'}
final_stop_words = set([word for word in new_stopwords_list if word not in not_stopwords])
print(final_stop_words)
Run Code Online (Sandbox Code Playgroud)
输出:
Traceback (most recent call last):
File "test_stop.py", line 10, in <module>
new_stopwords_list = set(stop_words.extend(new_stopwords))
AttributeError: 'set' object has no attribute 'extend'
Run Code Online (Sandbox Code Playgroud) 我想根据字段的值创建一个类的对象.
例如:
if r_type == 'abc':
return Abc()
elif r_type == 'def':
return Def()
elif r_type == 'ghi':
return Ghi()
elif r_type == 'jkl':
return Jkl()
Run Code Online (Sandbox Code Playgroud)
什么是pythonic方法,以避免如果在这里.我正在考虑创建一个字典,其中r_type是key,classname是value,并且获取值并实例化,这是一种正确的方式,还是在python中有更好的惯用方法?
尝试在列表推导形式中转换以下代码,但我在"+ ="附近的语法错误
def lucky_sum(a, b, c):
ip = [a, b, c]
sum = 0
for i in ip:
if i ==13:
return sum
else:
sum+=i
return sum
Run Code Online (Sandbox Code Playgroud)
我试过这个:
def lucky_sum(a, b, c):
ip = [a, b, c]
sum = 0
res = [sum if i == 13 else sum += i for i in ip]
return sum
Run Code Online (Sandbox Code Playgroud) 有没有办法使用 python 将项目添加到列表列表中。
作为示例,有一个列表如下:
test_list = [['abc','2'],['cds','333'],['efg']]
Run Code Online (Sandbox Code Playgroud)
'444'我想为该职位添加一个项目test_list[2][1]。
最后的列表应该是:
test_list = [['abc','2'],['cds','333'],['efg','444']]
Run Code Online (Sandbox Code Playgroud) 我想使用前 50 列作为我的特征 X,最后一列作为我的标签 y,我该怎么做?数据在这里
我已经在使用:
import pandas as pd
df = pd.read_csv('file.csv', sep=' ', header=None)
Run Code Online (Sandbox Code Playgroud)
第 1 行:
6.999299526214599609e+00 -4.579982161521911621e-01 6.291269779205322266e+00 3.196178436279296875e+00 -5.663570880889892578e+00 -1.810324430465698242e+00 -6.706712245941162109e+00 -1.486396908760070801e+00 7.831575274467468262e-01 2.103844642639160156e+00 1.438934803009033203e+00 1.163767457008361816e+00 -4.729847431182861328e+00 2.073661834001541138e-01 -3.499572992324829102e+00 7.331941604614257812e+00 5.259800434112548828e+00 3.068963885307312012e-01 4.826724827289581299e-01 2.915471076965332031e+00 -1.563049554824829102e+00 4.521403312683105469e+00 2.377167463302612305e+00 1.402835369110107422e+00 -6.507210731506347656e+00 1.661594510078430176e+00 3.218852043151855469e+00 2.605128288269042969e+00 -6.348329782485961914e-01 -1.768920421600341797e+00 3.369244933128356934e-01 -9.721876144409179688e+00 -3.150746524333953857e-01 -6.363586187362670898e-01 7.596837520599365234e+00 -2.103782415390014648e+00 2.669518947601318359e+00 2.815987110137939453e+00 3.098936080932617188e+00 -2.445043325424194336e+00 4.101460456848144531e+00 1.029265499114990234e+01 -3.425651788711547852e+00 -7.059376239776611328e+00 2.968243837356567383e+00 1.735906600952148438e+00 -5.084319591522216797e+00 -4.689389228820800781e+00 -5.318581685423851013e-02 7.332663059234619141e+00 0.000000000000000000e+00
Run Code Online (Sandbox Code Playgroud)
第 2 行:
-3.312762498855590820e+00 -6.952639102935791016e+00 4.057536602020263672e+00 -7.067280411720275879e-01 1.559423655271530151e-01 -2.063135862350463867e+00 3.473832607269287109e+00 …Run Code Online (Sandbox Code Playgroud) 如何使用matplotlib模块在python中绘制元组列表?元组列表
[(155, 16.84749748246271), (158, 13.618280538390644), (38, 13.103707537648402), (53, 10.157244261797375), (156, 6.779897254994966), (119, 6.27045632052444), (159, 4.3453112093858275), (161, 4.028984416275573), (32, 4.026263736663865), (118, 3.437058351914913)]
Run Code Online (Sandbox Code Playgroud)
在元组中,第一个值代表反应数,第二个值代表灵敏度。
假设我有这个字符串:
a = 'abcdefghijklmnopqrstuvwxyz'
Run Code Online (Sandbox Code Playgroud)
我想将此字符串拆分为多个块,如下所示:
['a', 'bc', 'def', 'ghij', 'klmno', 'pqrstu', 'vwxyz ']
Run Code Online (Sandbox Code Playgroud)
这样每个块都有不同数量的字符。例如,第一个应该有一个字符,第二个两个等等。
如果最后一个块中没有足够的字符,那么我需要添加空格以匹配长度。
到目前为止我试过这个代码:
print([a[i: i + i + 1] for i in range(len(a))])
Run Code Online (Sandbox Code Playgroud)
但它输出:
['a', 'bc', 'cde', 'defg', 'efghi', 'fghijk', 'ghijklm', 'hijklmno', 'ijklmnopq', 'jklmnopqrs', 'klmnopqrstu', 'lmnopqrstuvw', 'mnopqrstuvwxy', 'nopqrstuvwxyz', 'opqrstuvwxyz', 'pqrstuvwxyz', 'qrstuvwxyz', 'rstuvwxyz', 'stuvwxyz', 'tuvwxyz', 'uvwxyz', 'vwxyz', 'wxyz', 'xyz', 'yz', 'z']
Run Code Online (Sandbox Code Playgroud)
这是我想要的输出:
['a', 'bc', 'def', 'ghij', 'klmno', 'pqrstu', 'vwxyz ']
Run Code Online (Sandbox Code Playgroud) 我有一个清单,例如
lst=[[3,7],[4,9],[8,3],[1,5],[9,4],[4,5],[3,0],[2,7],[1,9]]
Run Code Online (Sandbox Code Playgroud)
然后想按绝对差异的频率对这个列表进行排序,如下所示:
|3-7|=4, |4-9|=5, |8-3|=5, |1-5|=4, |9-4|=5, |4-5|=1, |3-0|=3, |2-7|=5, |1-9|=8,
Run Code Online (Sandbox Code Playgroud)
输出应该是:
[[4,9],[8,3],[9,4],[2,7],[3,7],[1,5],[4,5],[3,0],[1,9]]
Run Code Online (Sandbox Code Playgroud)
我在做:
list.sort(key=self.SortByDifference,reverse=True)
def SortByDifference(self, element):
return abs(element[0]-element[1])
Run Code Online (Sandbox Code Playgroud)
但是,这首先返回最高差。
我想按绝对差的频率排序,所以不是按最高差排序,即[5, 5, 4, 4, 4, 3, 2, 1],它会输出[4, 4, 4, 5, 5, 3, 2, 1]因为4出现的频率更高。
我想用 python 生成音频背景噪音并将其保存在 mp3 中。理想情况下,我还可以调整幅度和频率。有我可以使用的包吗?
谢谢拉兹鲁