下面是我生成一个数据框架的代码:
import pandas as pd
import numpy as np
dff = pd.DataFrame(np.random.randn(1,2),columns=list('AB'))
然后我得到了数据框架:
+------------+---------+--------+
| | A | B |
+------------+---------+---------
| 0 | 0.626386| 1.52325|
+------------+---------+--------+
当我输入命令时:
dff.mean(axis=1)
我得到:
0 1.074821
dtype: float64
根据pandas的参考,axis=1代表列,我希望命令的结果是
A 0.626386
B 1.523255
dtype: float64
我的问题是:轴在熊猫中是什么意思?
让我们看看Wiki上的表格。这是国际货币基金组织对2010年至2019年前十大国家GDP的估计。
1. 如果你想计算每个国家过去十年(2010-2019)的平均GDP,你需要做,df.mean(轴=1)。例如,如果你想计算美国从2010年到2019年的平均GDP, df。loc['美国',' 2010 ':' 2019 '].mean(轴= 1)
2. 如果我想计算所有国家每年的平均GDP(平均值),你需要做,df.mean(轴=0)。例如,如果你想计算2015年美国、中国、日本、德国和印度的平均GDP, df。loc(“美国”:“印度”,' 2015 '].mean(轴= 0)
注意:上述代码只有在使用set_index方法将“国家(或附属领土)”列设置为索引后才能工作。
我是这样理解的:
比如说,如果你的操作需要在数据框架中从左到右/从右到左,你显然是在合并列。你在不同的列上操作。
这是轴=1
例子
df = pd.DataFrame(np.arange(12).reshape(3,4),columns=['A', 'B', 'C', 'D'])
print(df)
A B C D
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
df.mean(axis=1)
0 1.5
1 5.5
2 9.5
dtype: float64
df.drop(['A','B'],axis=1,inplace=True)
C D
0 2 3
1 6 7
2 10 11
这里需要注意的是,我们是在列上操作
类似地,如果您的操作需要在数据帧中从上到下/从下到上遍历,那么您正在合并行。轴为0。
让我们看看Wiki上的表格。这是国际货币基金组织对2010年至2019年前十大国家GDP的估计。
1. 如果你想计算每个国家过去十年(2010-2019)的平均GDP,你需要做,df.mean(轴=1)。例如,如果你想计算美国从2010年到2019年的平均GDP, df。loc['美国',' 2010 ':' 2019 '].mean(轴= 1)
2. 如果我想计算所有国家每年的平均GDP(平均值),你需要做,df.mean(轴=0)。例如,如果你想计算2015年美国、中国、日本、德国和印度的平均GDP, df。loc(“美国”:“印度”,' 2015 '].mean(轴= 0)
注意:上述代码只有在使用set_index方法将“国家(或附属领土)”列设置为索引后才能工作。