Python 如何查找和计算列中的字数
所以我想计算污染物的发生率,但有些情况下有不止一种污染物,所以当我使用值_counts时,它将它们计算为一。例如,“汽油,柴油=8”如果不手动操作,我如何将它们单独计算 有没有可能创造一种功能,使它们更容易分类为4种污染物?我只需要一个关于我需要做什么的线索或简单的解释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()
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