Python 用于循环的问题-熊猫
我正试图用熊猫清理一个df。我有一个专栏,包含四个可能的内容:Python 用于循环的问题-熊猫,python,regex,pandas,for-loop,Python,Regex,Pandas,For Loop,我正试图用熊猫清理一个df。我有一个专栏,包含四个可能的内容: X.X磅 X.X磅 X.X盎司 楠 df.weight.fillna(0,原地=真) 对于[0,df.weight.size-1]中的i: 单元=df.重量[i] 而(单元格==0且ijust skip(当我尝试使用正则表达式时会导致问题,因此 while循环) 如果单元格有“盎司”->只保留数字和“.”;将数字转换为磅 如果单元格有“磅”或“磅”->只需保留数字和“.” 因此,理想情况下,像“1.0磅”这样的条目应该变成“1.
df.weight.fillna(0,原地=真)
对于[0,df.weight.size-1]中的i:
单元=df.重量[i]
而(单元格==0且i
上面代码的目的是遍历“weight”行并检查:
- 如果cell==0->just skip(当我尝试使用正则表达式时会导致问题,因此 while循环)
- 如果单元格有“盎司”->只保留数字和“.”;将数字转换为磅
- 如果单元格有“磅”或“磅”->只需保留数字和“.”
for i in [0, df.weight.size-1]:
表示两个项目的列表[0,df.weight.size-1]
,0
和df.weight.size-1
上的循环。您的意思可能是:
for i in range(df.weight.size)
或者类似的。我怀疑你的代码也有一些其他问题,但这是第一个问题
顺便说一下,如果您有一些转换要应用于系列中的每个项目,请定义一个函数,用于对单个项目实现该转换,然后使用将其应用于所有项目。在这种情况下,如
df.weight=df.weight.apply(您的函数)
。如果转换依赖于序列中的其他值,事情会变得更复杂一些,但这里的情况似乎不是这样。请提供一些实际输入和预期输出数据。还请更正第一个语句下的缩进(
语句完成:)ty,以便指出不是很简单吗
for i in range(df.weight.size)