【发布时间】:2019-05-30 13:08:42
【问题描述】:
我想从列表数组中减去每个字符串值中找到的两个数字并转换为整数。
当前 df:
pbp
0 ['0-0', '0-2', '0-4']
1 ['0-0', '2-0', '4-2']
2 ['0-0', '0-1', '0-2']
预期 df:
pbp
0 [0, -2, -4]
1 [0, 2, 2]
2 [0, -1, -2]
试过了:
df[['pbp']].applymap(lambda x: x.strip()).applymap(ast.literal_eval)
pbp
0 [0-0, 0-2, 0-4]
1 [0-0, 2-0, 4-2]
2 [0-0, 0-1, 0-2]
我只是不知道如何减去它们
【问题讨论】:
-
你是怎么得到这样的数据框的?
-
欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 On topic、how to ask 和 ... the perfect question 在此处申请。 StackOverflow 不是设计、编码、研究或教程资源。但是,如果您遵循您在网上找到的任何资源,进行诚实的编码尝试并遇到问题,那么您将有一个很好的示例可以发布。
-
那你有什么尝试?
-
您可以将 eval 应用于数据框的行,尽管我不确定是否推荐
-
您可以使用
df['pbd'].apply(lambda xs: [ast.literal_eval(x) for x in xs])。
标签: python pandas list data-manipulation