首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个系列中的拆分项

一个系列中的拆分项
EN

Stack Overflow用户
提问于 2014-11-17 21:39:45
回答 1查看 65关注 0票数 0

我有一个像这样的系列;

代码语言:javascript
运行
复制
Name: TOR, Length: 162, dtype: object, 
['TOR'], 
0      [W, 9-7]
1      [W, 5-1]
2      [W, 8-2]
3      [L, 1-2]
4      [L, 2-6]
5      [W, 2-1]

等等,

数据来自一个熊猫数据框架,每个团队都有一个列,上面的数据在it.How中,我能把这个系列转换成一个数据框架,其中一个列表示W或L,另一个列表示分数,9-7?我甚至可以放弃所有的一切,包括",“。

编辑,

字典样本

代码语言:javascript
运行
复制
WinLoss
{'NYY': [[u'L', u'2-6'], [u'L', u'1-3'],....
'MIN': [[u'L', u'3-5'], [u'L', u'6-7'], [u'W', u'10-9']....
'CIN': [[u'L', u'0-1'], [u'W', u'1-0'], [u'L', u'6-7'],

如果我只是

代码语言:javascript
运行
复制
Wintable = pd.DataFrame(WinLoss)

我最终得到了原来的问题

数据帧片段;

代码语言:javascript
运行
复制
>>> Wintable
           ARI        ATL        BAL        BOS        CHC        CHW  \
0     [L, 1-3]   [L, 0-2]   [W, 2-1]   [L, 1-2]   [L, 0-1]   [W, 5-3]   
1     [L, 5-7]   [W, 5-2]   [L, 2-6]   [W, 6-2]   [L, 3-4]   [W, 7-6]   
2     [L, 8-9]   [W, 1-0]   [L, 3-4]   [W, 4-3]   [W, 3-2]  [L, 9-10]   
3     [W, 5-4]   [W, 2-1]  [L, 4-10]   [L, 2-6]   [L, 2-7]   [L, 5-7]   
4     [L, 0-2]   [W, 6-2]   [L, 6-7]   [L, 6-7]   [L, 0-2]   [L, 3-4]   
5     [L, 5-8]   [L, 1-2]   [W, 3-1]   [L, 0-4]   [W, 8-3]   [W, 5-1]   
6    [L, 2-12]   [L, 0-4]   [L, 2-4]   [W, 5-1]   [L, 6-7]   [L, 1-8]   
7     [L, 4-9]   [W, 4-3]  [W, 14-5]  [L, 7-10]   [W, 7-5]  [W, 15-3]   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-17 21:54:14

更新

由于OP已经改变了需求,我已经更新了这个答案,以有一个更直截了当的方法。

这是一个可行的解决方案,可能不是最好的,但一次性的解决方案就能奏效。与其将系列转换为可行的DataFrame,不如处理源代码并将其读入DataFrame,如下所示:

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

# remember the length of each 'NYC' ... 'CIN' has to be the same as you said, 162
WinLoss = {'NYY': [[u'L', u'2-6'], [u'L', u'1-3'], [u'W', u'2-1']],
'MIN': [[u'L', u'3-5'], [u'L', u'6-7'], [u'W', u'10-9']],
'CIN': [[u'L', u'0-1'], [u'W', u'1-0'], [u'L', u'6-7']]}

# construct an empty DataFrame here
df = pd.DataFrame()

# just loop through the dictionary you have, and write into DataFrame
# another update to shorten the syntax
df = pd.DataFrame()
for k,v in WinLoss.items():
    # name the columns to whatever you want
    df['{} {}'.format(k, 'Win/Loss')] = [r[0] for r in v]
    df['{} {}'.format(k, 'Scores')] = [r[1] for r in v]

抽样结果:

代码语言:javascript
运行
复制
df
  NYY Win/Loss NYY Scores CIN Win/Loss CIN Scores MIN Win/Loss MIN Scores
0            L        2-6            L        0-1            L        3-5
1            L        1-3            W        1-0            L        6-7
2            W        2-1            L        6-7            W       10-9
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26982467

复制
相关文章

相似问题

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