Ber*_*art 6 python dataframe pandas
我有一个包含几列(功能)的数据框。
>>> print(df)
col1 col2
a 1 1
b 2 2
c 3 3
d 3 2
Run Code Online (Sandbox Code Playgroud)
我想计算其中之一的模式。这是发生的事情:
>>> print(df['col1'].mode())
0 3
dtype: int64
Run Code Online (Sandbox Code Playgroud)
我想简单地输出 value 3
。这种行为很奇怪,如果您认为以下非常相似的代码正在运行:
>>> print(df['col1'].mean())
2.25
Run Code Online (Sandbox Code Playgroud)
所以有两个问题:为什么会发生这种情况?我怎样才能获得纯模式值,因为它发生在平均值上?
因为Series.mode()可以返回多个值:
考虑以下 DF:
In [77]: df
Out[77]:
col1 col2
a 1 1
b 2 2
c 3 3
d 3 2
e 2 3
In [78]: df['col1'].mode()
Out[78]:
0 2
1 3
dtype: int64
Run Code Online (Sandbox Code Playgroud)
从文档字符串:
如果没有发生至少 2 次,则为空。 即使只有一个值,也始终返回系列。
如果要选择第一个值:
In [83]: df['col1'].mode().iloc[0]
Out[83]: 2
In [84]: df['col1'].mode()[0]
Out[84]: 2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6484 次 |
最近记录: |