【发布时间】:2021-06-04 09:26:01
【问题描述】:
正如标题所说,我想计算两个属性的百分比,并将数据集的最后一个属性替换为新的百分比。
数据集如下:
dataset = pd.read_csv('2016-17-to-2018-19-immunizations.csv',encoding = "ISO-8859-1")
我目前的尝试是:
enrollment = newDataset.iloc[:,7:8]
count = newDataset.iloc[:,9:10]
newDataset.iloc[:,10:11] = count / enrollment
newDataset.to_csv(r'newDF.csv', index='None')
newDataset.head()
有什么导致我在这里做错了吗?
Edit-1 Dataset.csv(显示前 5 条记录):
SCHOOL_YEAR,SCHOOL_CODE,COUNTY,PUBLIC_PRIVATE,CITY,SCHOOL_NAME,REPORTED,ENROLLMENT,CATEGORY,COUNT,PERCENT
2016-2017,52749,MONTEREY,PRIVATE,PRUNEDALE,PRUNEDALE CHRISTIAN ACADEMY,Y,10,PBE,,
2016-2017,52749,MONTEREY,PRIVATE,PRUNEDALE,PRUNEDALE CHRISTIAN ACADEMY,Y,10,HEPB,,
2016-2017,52749,MONTEREY,PRIVATE,PRUNEDALE,PRUNEDALE CHRISTIAN ACADEMY,Y,10,DTP,,
2016-2017,52749,MONTEREY,PRIVATE,PRUNEDALE,PRUNEDALE CHRISTIAN ACADEMY,Y,10,POLIO,,
2016-2017,52749,MONTEREY,PRIVATE,PRUNEDALE,PRUNEDALE CHRISTIAN ACADEMY,Y,10,Up-To-Date,,
【问题讨论】:
-
根据您显示的数据,您永远不会知道您的百分比计算是否有效,因为您的计数是
0。将任何内容除以 0 将返回NaN。还可以考虑创建一个minimal reproducible example,而不是使用您的数据图像。 -
@CameronRiddell 谢谢,但我将 0 除以某个值,例如对于第一种情况,它是 0/10,所以答案应该是“0”而不是“NaN”。我希望它澄清。关于数据集,您期望什么样的最小可重现示例。它是一个 csv 数据集。
-
@CameronRiddell 我添加了数据集示例。希望现在清楚了!
-
哦,哇,我完全误读了您的代码。感谢您澄清并包括一些数据!尽管您提供的数据中的
count列似乎都不见了?应该是这样的吗? -
@CameronRiddell 计数列是稀疏的。我正在使用 dataset.bfill() 向后填充值
标签: python pandas dataframe dataset