首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫-从不规则字符串模式的计算中创建新列。

熊猫-从不规则字符串模式的计算中创建新列。
EN

Stack Overflow用户
提问于 2019-09-10 21:28:56
回答 2查看 46关注 0票数 1

我在熊猫的数据里有这样的数据:

代码语言:javascript
运行
复制
|           Data           | 
----------------------------    
|   10-9   8-6    100-2    |
----------------------------
|           1-2    3-4     |
----------------------------
|                  55-45   |
----------------------------

现在我的问题是,用熊猫做以下事情的最好方法是什么:

  • 计算连字符之前的第一个数字的平均值,以及连字符之后的数字的平均值。
  • 第二次从第一次,并放置到一个新的列。

例如,对于第一行,新列中的值为:平均(10,8,100) -平均(9,6,2)

我猜我需要使用某种lambda函数,但我不知道如何实现它。

任何帮助都是非常感谢的。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-09-10 21:51:35

这也许能起作用。split()将去掉所有的空白。还可以使用列表理解来遍历split()创建的所有标记(例如,['10-9', '8-6', '100-2'])。

代码语言:javascript
运行
复制
In [37]: df = DataFrame({'Data': ["   10-9   8-6    100-2    ",
                         "           1-2    3-4     ", 
                         "                  55-45   "]})

In [38]: def process(cell):
    ...:     avg = []
    ...:     for i in range(2):
    ...:         l = [int(x.split("-")[i]) for x in cell.split()]
    ...:         avg.append(sum(l) * 1. / len(l))
    ...:     return avg[0] - avg[1]
    ...:

In [39]: df['Data'].apply(process)
Out[39]:
0    33.666667
1    -1.000000
2    10.000000
Name: Data, dtype: float64

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2019-09-10 21:52:14

创建一个包含字符串解析逻辑的函数:

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np

def string_handling(string):
    values = [it for it in string.strip().split(' ') if it]
    values = [v.split('-') for v in values]
    first_values = [int(v[0]) for v in values]
    second_values = [int(v[1]) for v in values]
    return pd.Series([np.mean(first_values), np.mean(second_values)])

应用此功能:

代码语言:javascript
运行
复制
df[['first_value','second_value']] = df['Data'].apply(string_handling)
df['diff'] = df['first_value'] - df['second_value']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57878438

复制
相关文章

相似问题

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