我正在尝试用 golang 做一些数据科学魔术。为此,我开始阅读包含姓名和生物性别的 csv 文件。我使用Gota作为 Dataframe 框架
我开始为每个条目的名称计算硬元音分数,如下所示:
hardVowSeries := df.Select("name").Rapply(hardVowels)
hardVowSeries.SetNames("hard Vowel Score")
我的 hardVowels 函数如下所示:
func hardVowels(s series.Series) series.Series {
name := s.String()
name = prepName(name)
hardVow1 := float32(strings.Count(name, "p"))
hardVow2 := float32(strings.Count(name, "k"))
hardVow3 := float32(strings.Count(name, "f"))
lengthName := float32(len([]rune(name)))
hardVowScore := (hardVow1 + hardVow2 + hardVow3) / lengthName
return series.Floats(hardVowScore)}
现在,当我将 Series 类型更改为 int 时,它可以工作,但它会将其舍入为 ints,因此每次我需要将值保存为浮点数时分数为零,因此我将系列的类型以及所有数字类型更改为 float32 .
当我在调试器中运行它时,它会正确显示浮点值,但是当我在函数Rapply
完成后打印 Series 时,它显示它都是 NaN 值。我很乐意提供任何帮助。谢谢你。