小编Zen*_*ega的帖子

根据条件删除列表元素

我有一份清单清单: [word, good freq, bad freq, change_status]

list_1 = [['good',100, 20, 0.2],['bad', 10, 0, 0.0],['change', 1, 2, 2]]
Run Code Online (Sandbox Code Playgroud)

我想从列表中删除所有不满足条件的元素.

所以,如果change_status > 0.3 and bad_freq < 5那时我想删除与之对应的元素.

所以list_1会被修改为,

list_1 = [['good',100, 20, 0.2],['bad', 10, 0, 0.0]]
Run Code Online (Sandbox Code Playgroud)

我如何选择性地做到这一点?

python list elements

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

python:从字符串创建列表

我有字符串列表

a = ['word1, 23, 12','word2, 10, 19','word3, 11, 15']
Run Code Online (Sandbox Code Playgroud)

我想创建一个列表

b = [['word1',23,12],['word2', 10, 19],['word3', 11, 15]]
Run Code Online (Sandbox Code Playgroud)

这是一个简单的方法吗?

python string list

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

熊猫表查找

我有一个像这样的pandas查找表

Grade   Lower_Boundary  Upper_Boundary
1   -110    -96
2   -96 -91
3   -91 -85
4   -85 -81
5   -81 -77
6   -77 -72
7   -72 -68
8   -68 -63
9   -63 -58
10  -58 -54
11  -54 -50
12  -50 -46
13  -46 -42
14  -42 -38
15  -38 -34
16  -34 -28
17  -28 -18
18  -18 -11
19  -11 -11
20  -11 -9
Run Code Online (Sandbox Code Playgroud)

我有另一个看起来包含得分的熊猫数据框.我想通过查找查找表将"成绩"分配给分数列.因此,根据分数下降和上限的间隔,应从查找表中的该行分配等级.有没有办法在不输入if if else语句的情况下执行此操作?我只想到excel的索引匹配.

Score   Grade
-75 6
-75 6
-60 9
-66 8
-66 8
-98 …
Run Code Online (Sandbox Code Playgroud)

python lookup pandas

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

python:删除文件中的数字

我需要从Windows XP上的文本文件中删除数字.我是python的新手,只是安装它进行数据清理.

我已将测试文件存储在C:\ folder1\test1.txt中

test1.txt上的上下文只有一行:

这绝不是b3 delet3d,而是最后的数字是134411

我想创建一个包含的文件result1.txt

这绝不是b3 delet3d,而是最后的数字是

这是我到目前为止所尝试的

import os 

fin = os.open('C:\folder1\test1.txt','r')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: an integer is required.
Run Code Online (Sandbox Code Playgroud)

我不确定它期待什么整数.

你能告诉我如何进行编程以获得我想要的结果吗?非常感谢你的帮助.

python file

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

SAS Proc 的意思是:如何捕获输出数据集中的非默认统计信息,例如 nmiss p1 p99 等?

原问题:

默认情况下,Proc Means 在输出数据集中输出 N、MIN、MEAN、MAX 和 STD 。如何将 NMISS、P1、P5 等添加到此列表中?


附加信息1:

我想要数据集中所有数值变量的统计数据。_numeric_所以我在 var 规范中使用。

我不希望每个统计数据都在一行中,变量在列中。

 Obs _TYPE_ _FREQ_ _STAT_    var1   var2 var3 etc    
 1     0    84829  N      84826.00
 2     0    84829  MIN        0.00
 3     0    84829  MAX     5000.00
 4     0    84829  MEAN     151.22
 5     0    84829  STD     1989.47
 6     0    84829  NMISS       3
 7     0    84829  P1         2.00
 8     0    84839  P99     4999.00
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

谢谢!

sas

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

Python seaborn:无法使我的图表看起来像 Excel 图表

我有一个如下表,它存储在名为“data”的 pandas 数据框中。

第1栏 设备1 事件发生率% % 事件距离 % 非事件分布 % 总分布
0 安卓 3.08 27.3 32.96 32.75
1 Chrome操作系统 4.05 0.47 0.42 0.43
2 铬操作系统 9.95 0.23 0.08 0.09
3 Linux 2.27 0.05 0.09 0.09
4 苹果系统 6.43 4.39 2.45 2.52
5 其他的 2.64 7.41 10.48 10.36
6 视窗 5.7 15.89 10.08 10.3
7 iOS系统 3.76 44.26 43.44 43.47

我正在尝试创建一个所需的seaborn/matplot图表,如下所示,它是在Excel中创建的。

在此输入图像描述

这是我的Python代码:

feature = 'Device1'
fig, ax1 = plt.subplots(figsize=(10,6))
color = 'tab:blue'
title = 'Event rate by ' + feature …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas seaborn

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

Python:从文件中删除特定字符串

我有一个数据文件(未构造的凌乱文件),我必须从中擦除特定的字符串列表(删除字符串).

这是我正在做的但没有结果:

infile = r"messy_data_file.txt"
outfile = r"cleaned_file.txt"

delete_list = ["firstname1 lastname1","firstname2 lastname2"....,"firstnamen lastnamen"]
fin=open(infile,"")
fout = open(outfile,"w+")
for line in fin:
    for word in delete_list:
        line = line.replace(word, "")
    fout.write(line)
fin.close()
fout.close()
Run Code Online (Sandbox Code Playgroud)

当我执行该文件时,我收到以下错误:

NameError: name 'word' is not defined
Run Code Online (Sandbox Code Playgroud)

请帮忙!

python words

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

Python:字符串计数内存错误

根据我在本论坛收到的建议,我使用以下代码(示例)来计算字符串.

phrase_words = ['red car', 'no lake', 'newjersey turnpike']
lines = ['i have a red car which i drove on newjersey', 'turnpike. when i took exit 39 there was no', 'lake. i drove my car on muddy roads which turned my red', 'car into brown. driving on newjersey turnpike can be confusing.']
text = " ".join(lines)
dict = {phrase: text.count(phrase) for phrase in phrase_words}
Run Code Online (Sandbox Code Playgroud)

所需的输出和示例代码的输出是:

{'newjersey turnpike': 2, 'red car': 2, 'no lake': 1}
Run Code Online (Sandbox Code Playgroud)

这段代码在一个小于300MB的文本文件上运行得很好.我使用了大小为500MB +的文本文件,并收到以下内存错误:

    y=' '.join(lines)
MemoryError
Run Code Online (Sandbox Code Playgroud)

我该如何克服这个问题?谢谢你的帮助!

python memory string

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

如何在字符串中搜索单词(完全匹配)?

我正在尝试子搜索

>>>str1 = 'this'
>>>str2 = 'researching this'
>>>str3 = 'researching this '

>>>"[^a-z]"+str1+"[^a-z]" in str2
False

>>>"[^a-z]"+str1+"[^a-z]" in str3
False
Run Code Online (Sandbox Code Playgroud)

在str3中查看时我想要True.我究竟做错了什么?

python string search

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

str对象不可调用

我试图将使用Python 2.7.2正常工作的程序转换为Python 3.1.4.

我正进入(状态

TypeError: Str object not callable for the following code on the line "for line in lines:"
Run Code Online (Sandbox Code Playgroud)

码:

in_file = "INPUT.txt"
out_file = "OUTPUT.txt"

##The following code removes creates frequencies of words

# create list of lower case words, \s+ --> match any whitespace(s)
d1=defaultdict(int)
f1 = open(in_file,'r')
lines = map(str.strip(' '),map(str.lower,f1.readlines()))
f1.close()        
for line in lines:
    s = re.sub(r'[0-9#$?*><@\(\)&;:,.!-+%=\[\]\-\/\^]', " ", line)
    s = s.replace('\t',' ')
    word_list = re.split('\s+',s)
    unique_word_list = [word for word in word_list] …
Run Code Online (Sandbox Code Playgroud)

python string typeerror map-function

0
推荐指数
2
解决办法
2124
查看次数