Python 如何查找和计算列中的字数

Python 如何查找和计算列中的字数,python,pandas,matplotlib,Python,Pandas,Matplotlib,所以我想计算污染物的发生率,但有些情况下有不止一种污染物,所以当我使用值_counts时,它将它们计算为一。例如,“汽油,柴油=8”如果不手动操作,我如何将它们单独计算 有没有可能创造一种功能,使它们更容易分类为4种污染物?我只需要一个关于我需要做什么的线索或简单的解释 data=pd.read\u csv('data collected.csv')数据 data['CONTAMINANTS'].value_counts().plot(kind = 'barh').invert_yaxis()

所以我想计算污染物的发生率,但有些情况下有不止一种污染物,所以当我使用值_counts时,它将它们计算为一。例如,“汽油,柴油=8”如果不手动操作,我如何将它们单独计算

有没有可能创造一种功能,使它们更容易分类为4种污染物?我只需要一个关于我需要做什么的线索或简单的解释

data=pd.read\u csv('data collected.csv')数据

data['CONTAMINANTS'].value_counts().plot(kind = 'barh').invert_yaxis()

假设污染物在数据中总是用逗号分隔,则可以使用将其放入列表中。然后,您可以使用将它们分成不同的行,这最终允许使用
value\u counts()
方法

例如:

将熊猫作为pd导入
data=pd.DataFrame({'File Number':[1,2,3,4],
“污染物”:[“苊、蒽、苯并蒽”,
“氯化溶剂”,
“柴油、汽油、苊”,
'汽油,苊']})
数据
data['polictures']=data['polictures'].str.split(pat=','))
data_long=data.explode(‘污染物’)
数据长度['污染物]。值计数()
要对污染物进行分类,可以定义一个字典,将污染物映射到类型。然后,您可以使用该字典向分解的数据框添加类型列:

types={'苊]:1,
"汽油":二,,
"柴油":二,,
“蒽”:1,
“苯并蒽”:1,
“氯化溶剂”:3}
数据长['污染物类型]]=数据长['污染物]]。应用(lambda x:types[x])
数据长

这回答了你的问题吗。始终提供代码、数据、错误、当前输出和预期输出,如图所示。这个问题很可能会被否决并结束。你不希望得到帮助,因为没有人想重新键入你的数据或代码,而且屏幕截图常常难以辨认。提问并添加文本。请看。非常感谢!!!它起作用了!您好,为什么我收到错误“6”
ACT={'0':'无活动','1A':'已确认污染','1B':'已确认污染','2A':'调查','2B':'调查','3':'纠正措施计划','4':'实施措施','5':'监控措施','6A':'已完成措施','6B':'已完成措施',‘6C’:‘INACTIVE’,‘6D’:‘INACTIVE’}
数据['STATUS']=data['ACT-STATUS'].apply(lambda x:ACT[x])数据
Hi@geo_codernoob-可能
数据['ACT-STATUS']
中的一个值是
'6'
,然后
apply()
方法将尝试查找
ACT['6']
,您还没有定义它。您好,您能解释一下lambda是做什么的吗?这是定义函数的一种快捷方式,如果您只需要在一个位置使用该函数而不需要名称,则非常有用。在本例中,
df.apply()
需要一个函数作为其参数,但
类型
是一个字典,因此我们使用
lambda
关键字将字典转换为函数。请参阅此处的文档:
    File Number     CONTAMINANTS
0   1               ACENAPHTENE, ANTHRACENE, BENZ-A-ANTHRACENE
1   2               CHLORINATED SOLVENTS
2   3               DIESEL, GASOLINE, ACENAPHTENE
3   4               GASOLINE, ACENAPHTENE
ACENAPHTENE             3
GASOLINE                2
DIESEL                  1
ANTHRACENE              1
BENZ-A-ANTHRACENE       1
CHLORINATED SOLVENTS    1
Name: CONTAMINANTS, dtype: int64
    File Number     CONTAMINANTS            contaminant type
0   1               ACENAPHTENE             1
0   1               ANTHRACENE              1
0   1               BENZ-A-ANTHRACENE       1
1   2               CHLORINATED SOLVENTS    3
2   3               DIESEL                  2
2   3               GASOLINE                2
2   3               ACENAPHTENE             1
3   4               GASOLINE                2
3   4               ACENAPHTENE             1