首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整数列以符号分隔的Python数据帧分析

整数列以符号分隔的Python数据帧分析
EN

Stack Overflow用户
提问于 2020-06-12 02:03:11
回答 1查看 31关注 0票数 0

你能帮助我在python中处理有分隔整数值的列吗?

我们如何创建一个额外的列"PHR_INSTANTENEOUS_MIN“,用于存储PHR_INSTANTENEOUS中数字的最小值。比如第一行:"-18“,第三行是"14”。

类似的: PHR_INSTANTENEOUS_MIN、PHR_INSTANTENEOUS_MEDIAN、PHR_INSTANTENEOUS_MODE派生值。

对SINR_INSTANTENEOUS值重复类似的事情,我们需要形成派生值。

代码语言:javascript
复制
df1
START_TIME PRIMARY_KEY PHR_INSTANTANEOUS SINR_INSTANTANEOUS
2020-03-10 12:00:00 e7ca9da318f1 -18|-17 9|8
2020-03-10 12:01:00 68615e3db513 1 26
2020-03-10 12:05:00 7f250354808a 14|18|20|20 26|26|24|26
2020-03-10 12:07:00 9202ab7611d4 -8|-7|40 22|6|-2
2020-03-10 12:12:00 377bf955bdc0 4|9 26|20

完整数据集图如下:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-12 02:15:04

这里有一种方法可以做到:

代码语言:javascript
复制
import pandas as pd
from statistics import median, mode
import numpy as np

df = pd.DataFrame(['-18|-17', '1', '14|18|20|20', '-8|-7|40', 5.2, np.nan], columns=['PHR_INSTANTANEOUS'])

# make sure the dtype is uniformly string
df['PHR_INSTANTANEOUS'] = df['PHR_INSTANTANEOUS'].astype(str)

# get the values
df['PHR_INSTANTANEOUS'].apply(lambda x: min(map(float, x.split('|'))))  # minimum
df['PHR_INSTANTANEOUS'].apply(lambda x: median(map(float, x.split('|'))))  # median
df['PHR_INSTANTANEOUS'].apply(lambda x: mode(map(float, x.split('|'))))  # mode
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62330684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档