【问题标题】:Convert list values into dataframes将列表值转换为数据框
【发布时间】:2020-06-13 15:42:22
【问题描述】:

我有这个分析输出

[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' 在另一列中,其他列也是如此。

【问题讨论】:

  • 你尝试了什么?您可以附加到单个列表中并通过pd.DataFrame()
  • 你是怎么得到这个输出的?你能粘贴生成这个的代码吗?
  • for i in range(2008,2017): df=((matches[matches['season']==i]).iloc[-1]) print(df[[1,10 ]].values)

标签: python python-3.x pandas list dataframe


【解决方案1】:

一个想法可能是将您的数据放在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

【讨论】:

    猜你喜欢
    • 2016-03-08
    • 2018-06-10
    • 2020-04-15
    • 2020-04-17
    相关资源
    最近更新 更多