python - 如何根据行中的相似性找到特定列条目的平均值?
问题描述
我有一个文本文件,它有 9 列和多行(大约 30k)。它的某些行中的前五列中的条目可以具有相同的值。在这种情况下,我想将它们转换为单行,其中第 6-8 列条目中的值将是平均值。如果一行是唯一的,那么我想按原样打印它。我的原始文件看起来像这样。
6nbn A 18 49 A 1.82270650408 2.03219831709 1.82706048066 1
6nbn A 45 98 A 1.82498684927 2.03457366541 1.82271363631 1
6nbn A 88 107 A 1.82115046056 2.03480564182 1.82785940378 1
6nbn A 18 49 A 1.81906074665 2.03189099117 1.82705062875 2
6nbn A 45 98 A 1.82562290739 2.03479384705 1.82313137212 2
6nbn A 88 107 A 1.82279510642 2.03515331118 1.82660203657 2
6nbn A 18 49 A 1.82147248126 2.03104332795 1.82474573571 3
6nbn A 45 98 A 1.82470216748 2.03683136268 1.82329893325 3
6nbn A 88 107 A 1.82258525178 2.0307116979 1.8247273769 3
8tfv A 11 18 A 1.81042122171 2.01948136906 1.80238314462 1
8tfv A 11 18 A 1.80688488842 2.02074367499 1.8064168954 2
8tfv A 11 18 A 1.80874790947 2.02178955384 1.80609219034 3
8tfv A 11 18 A 1.80850988385 2.01873277082 1.80290765155 4
8tfv A 11 18 A 1.80312229203 2.01855121312 1.80927195302 5
8t11 B 1 4 A 1.80874790947 2.02178955384 1.80609219034 1
我想要这样的输出文件:
6nbn A 18 49 A 1.82107991066 2.03171087874 1.82628561504
6nbn A 45 98 A 1.82510397471 2.03539962505 1.82304798056
6nbn A 88 107 A 1.82217693958 2.03355688363 1.82639627242
8tfv A 11 18 A 1.80753723909 2.01985971637 1.80541436699
8t11 B 1 4 A 1.80874790947 2.02178955384 1.80609219034
我是python编程的新手。如果你能帮我解决这个问题,我会很有帮助。
解决方案
试试这个(用你的列名替换数字):
df.groupby(['0','1','2','3','4'])['5','6','7'].mean()
5 6 7
0 1 2 3 4
6nbn A 18 49 A 1.821080 2.031711 1.826286
45 98 A 1.825104 2.035400 1.823048
88 107 A 1.822177 2.033557 1.826396
8t11 B 1 4 A 1.808748 2.021790 1.806092
8tfv A 11 18 A 1.807537 2.019860 1.805414
推荐阅读
- c - C/XC8 语法:可以在同一语句中使用取反和 AND 操作吗?
- php - “调用未定义的函数 array_key_last()”虽然它是一个在本地工作的 PHP 函数
- react-native - 我可以在不使用 android studio 的情况下在 android 模拟器上的 windows 中运行我的 React-Native 代码吗
- jpa - oracle.sql.TIMESTAMPTZ 与 oracle.sql.TIMESTAMPTZ 不兼容
- css - 反应CSS闪烁动画不工作无限制
- javascript - 如何使用无限列表项处理单击详细信息(并导航回列表)?
- java - 即使不在应用程序/应用程序关闭中,如何每小时在应用程序的后台运行一次进程
- javascript - JavaScript 模块中的二进制文件应该放在哪里?
- angular - 子控件未注册到父窗体
- unity3d - MRTK Unity 获取 WMR 控制器位置和旋转