如何选择多行并根据行名称取平均值

问题描述 投票:0回答:1

[我希望从此数据框中选择浓度相同且名称几乎相同的行。例如,除了名称Dig_I,Dig_II,Dig_III的末尾,前三行具有相同的浓度和名称。这3行相同浓度。我喜欢以某种方式选择这三行并取每列的平均值。之后,我想创建一个新的数据框。

这里是整个数据框:

import pandas as pd
df = pd.read_csv("https://gist.github.com/akash062/75dea3e23a002c98c77a0b7ad3fbd25b.js")

enter image description here

python-3.x pandas
1个回答
0
投票
import pandas as pd
df = pd.read_csv("https://gist.github.com/akash062/75dea3e23a002c98c77a0b7ad3fbd25b.js")
new_df = df.groupby('concentration').mean()

注意:这只会找到dtype float或int列的平均值...这将删除img_name列,并将采用所有列的平均值...这可能会更快...

df = pd.read_csv("https://gist.github.com/akash062/75dea3e23a002c98c77a0b7ad3fbd25b.js").groupby('concentration').mean()

如果您想保留img_name ...

df = pd.read_csv("https://gist.github.com/akash062/75dea3e23a002c98c77a0b7ad3fbd25b.js")
new = df.groupby('concentration').mean()
pd.merge(df, new, left_on = 'concentration', right_on = 'concentration', how = 'inner')

有帮助吗?

© www.soinside.com 2019 - 2024. All rights reserved.