当我用训练数据调用group by函数时,我保留了所有原始列,但是当我用我想要应用模型的数据调用它时,它会删除两列。每个绘制的查找编号有3次扫描,因此我试图按绘制的查找和Assemblage分组,并取所有三次扫描的平均值。这是代码:
SC = df1
groupSC = SC.groupby(["PlottedFind","Assemblage"], as_index=False).mean()
SC2 = df2
groupSC2 = SC2.groupby(["PlottedFind","Assemblage"], as_index=False).mean()
字符串
df1列名:['PlottedFind', 'Scan', 'Assemblage', 'L', 'A', 'B', 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700]
df2列名:['PlottedFind', 'Scan', 'Assemblage', 'L', 'A', 'B', 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700]
groupSC列名:['PlottedFind', 'Assemblage', 'L', 'A', 'B', 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700]
groupSC2列名:
['PlottedFind', 'Assemblage', 'A', 'B', 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700]
型
我不明白为什么SC2组删除了L和400列。
任何帮助都是感激不尽的。
1条答案
按热度按时间fnvucqvd1#
您可能在
df2
的列'L'和'400'中有非数值值。但是,根据Pandas的版本,行为会有所不同:考虑这个框架:
个字符
在不同版本的Pandas上尝试
groupby_mean
。*Pandas1.4.4
型
*Pandas1.5.3
型
*Pandas2.1.2
型