在Pandas中为两列和单个数据行创建一个DataFrame

时间:2019-06-02 18:34:51

标签: python pandas

我是Pandas和DataFrame概念的新手,并通过实验学习。在创建新的DataFrame时,我尝试了以下代码,但给了我一些错误。请提出建议。

import pandas as pd

akshit = pd.DataFrame({'Name': 'Akshit', 'Last': 'Gupta'})

我希望创建数据框,但是出现以下错误:

  

ValueError:如果使用所有标量值,则必须传递索引

3 个答案:

答案 0 :(得分:1)

Name是列名,应获取数据数组。这就是为什么必须在列中使用方括号的原因:

akshit = pd.DataFrame({'Name': ['Akshit'], 'Last': ['Gupta']})
akshit

Out[7]: 
     Name   Last
0  Akshit  Gupta

答案 1 :(得分:1)

如建议所述,您可以像这样传递index

akshit = pd.DataFrame({'Name': 'Akshit', 'Last': 'Gupta'}, index=[0])

答案 2 :(得分:0)

如错误消息所述,由于您的字典值是缩放器,因此无法自动推断索引,因此必须明确提及。这样就可以了

akshit = pd.DataFrame({'Name': 'Akshit', 'Last': 'Gupta'}, index = [0])

很明显,您可以将其扩展为多行

names = pd.DataFrame([{'Name': 'Akshit', 'Last': 'Gupta'},
                      {'Name': 'Neel', 'Last': 'Ray'} , index = [0,1])

或者,您可以将字典的值作为列表提及,以便可以通过列表中元素的位置来推断索引。

alshit = pd.DataFrame([{'Name': ['Akshit'], 'Last': ['Gupta']})