如何在Pandas框架中将多行折叠成一行

rnmwe5a2  于 2023-10-14  发布在  其他
关注(0)|答案(2)|浏览(117)

我现在有一个有三行和10列的框架。每一列只有一个值。下面是它看起来像:

Segment               1        2       3  ...      8       9      10
MaxST1 - ST2-V   33.7507   -.----  -.---- ... 16.3022  -.---- -.----
ZeroST1 - ST2-V   -.----   -.----      0  ...  -.----      0       0
MissST1 - ST2-V   -.----   68.5865  -.---- ...  -.----  -.----  -.----

第1行(最大值)将永远只有浮点数或连字符。第2行(零)将永远只有0或连字符。第3行(未命中)将永远只有空值或连字符(没有空值,因此所有连字符)。
我所要做的就是折叠行,这样我就有一行包含整数、0和null,我想将该行重命名为不同的东西(主题编号,这是我在代码中已经创建的另一个变量)。

  • 编辑:我应用了下面的一些建议,它们很有帮助,尽管我的问题没有完全解决。

问题来了:我想保留“零”行中的0作为数字0。我想在'miss'列中的整数被转换为NaN。还有一点我需要对列求和,值应该是整数、零、* 或null*。这使得如何将求和结果合并为一行变得非常困难。
.sum()函数告诉我NaN+integer = NaN,0+integer = nothing。我糊涂了!我不知道如何实现我想要的求和行!
任何帮助将不胜感激!

inkz8wg9

inkz8wg91#

如果你使用jupyter笔记本电脑,它会更精确。好吧,如果我理解的话,你想要一个只有整数值的列,另一个只有零(0)的列,还有一个空值的列。
1.请确保数据框中的数据类型:object、int64、float64等。
1.如果需要,将分类数据转换为数字1,
1.然后,您可以分隔列数据。
对不起,我不能理解你的 Dataframe 的看法,所以我不能给予具体的方法。如果你能以更精确的方式分享框架的图片,那么社区或我可以帮助你。

bis0qfac

bis0qfac2#

根据我的猜测,您的框架由字符串(-.-)组成。
我会做以下的事情。

# Here everything shall be converted in numbers, -.--- will be set to NaN with the setting coerce
df=df.apply(pd.to_numeric, errors='coerce')

# Then a row will be added with the sum of each column
df.loc['sum']=df.sum()

相关问题