将列表值转换为数据帧

2024-09-27 23:16:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个分析的结果

[2008 'Rajasthan Royals']
[2009 'Deccan Chargers']
[2010 'Chennai Super Kings']
[2011 'Chennai Super Kings']
[2012 'Kolkata Knight Riders']
[2013 'Mumbai Indians']
[2014 'Kolkata Knight Riders']
[2015 'Mumbai Indians']

我试图将两个值(yearteam name)放入一个Pandas数据帧中,并分成两个单独的列

也就是说,例如,从上面的输出-2008在一列中,并且'Rajasthan Royal'在另一列中,对于其他列也是如此


Tags: nameyearteamsuperknightkingsmumbaichennai
1条回答
网友
1楼 · 发布于 2024-09-27 23:16:20

一种方法是将数据放入numpy矩阵中,然后对其进行转置,以便第一行是'Year'行,第二行是'TeamName'行:

import pandas as pd
import numpy as np

data = np.array([[2008, 'Rajasthan Royals'],
                 [2009, 'Deccan Chargers'],
                 [2010, 'Chennai Super Kings'],
                 [2011, 'Chennai Super Kings'],
                 [2012, 'Kolkata Knight Riders'],
                 [2013, 'Mumbai Indians'],
                 [2014, 'Kolkata Knight Riders'],
                 [2015, 'Mumbai Indians']])

df = pd.DataFrame({'Year': data.T[0].astype(int),
                   'TeamName': data.T[1]})

输出:

   Year               TeamName
0  2008       Rajasthan Royals
1  2009        Deccan Chargers
2  2010    Chennai Super Kings
3  2011    Chennai Super Kings
4  2012  Kolkata Knight Riders
5  2013         Mumbai Indians
6  2014  Kolkata Knight Riders
7  2015         Mumbai Indians

相关问题 更多 >

    热门问题