python - 计算列中的值并分配给行
问题描述
我有一个这样的数据框:
dT_sampleTime steps
0 0.002 0.001
1 0.004 0.002
2 0.004 0.003
3 0.004 0.004
4 0.003 0.005
5 0.007 0.006
6 0.001 0.007
我想计算 dT_sampleTime 列中 step 的值出现的频率,并创建一个新的列绝对频率。
dT_sampleTime steps absolute frequency
0 0.002 0.001 1
1 0.004 0.002 1
2 0.004 0.003 1
3 0.004 0.004 3
4 0.003 0.005 0
5 0.007 0.006 0
6 0.001 0.007 1
我的想法是这样的:
df['absolute frequency'] = df.groupby(df['steps'],df['dT_sampleTime']).count
解决方案
map
' value_counts
dt_sampleTime' 列的 'steps' 列。然后用 0 填充缺失值。
df['absolute frequency'] = (df['steps'].map(df['dT_sampleTime'].value_counts())
.fillna(0, downcast='infer'))
# dT_sampleTime steps absolute frequency
#0 0.002 0.001 1
#1 0.004 0.002 1
#2 0.004 0.003 1
#3 0.004 0.004 3
#4 0.003 0.005 0
#5 0.007 0.006 0
#6 0.001 0.007 1
当使用 Series 进行映射时,它使用索引来查找适当的值。value_counts 系列是
df['dT_sampleTime'].value_counts()
#0.004 3
#0.007 1
#0.001 1
#0.002 1
#0.003 1
#Name: dT_sampleTime, dtype: int64
例如,0.004
在步骤列中转到3
。
推荐阅读
- arrays - 在Angular 9中解析包含名称值对的Json
- c# - 如何从 Byte[] 数组转换为图像?
- python - 模拟 redis 为应用程序编写单元测试
- javascript - 使用 react 和 .NET framework API Controller 在正文中发布文件
- python - Tkinter 以编程方式调整框架大小
- azure - 从应用程序网关指标中筛选出 Azure 前门运行状况探测请求
- postgresql - 在 Spark 中使用 JDBC 连接读取 Postgres 数据库的问题
- .net - 控制器方法调用后不刷新 Razor 视图
- php - 带有 Bootstrap Carousel 的 PHP 一旦动态就不能工作
- python - 使用 Django Rest Framework 对基于函数的视图进行节流