[Python3]Pandas实现字典dict转换成DataFrame的4种方法

python3 pandas 用字典创建数据框时报错ValueError: If using all scalar values, you must pass an index

if __name__ == __main__:
    import pandas as pd
    data = {
          
   name: Wang, age: 15, sex: male}
    df = pd.DataFrame(data)

报错原因:

直接传入标称属性为value的字典需要写入index,即需要在创建DataFrame对象时设定index

解决方案:

方法1、创建DataFrame时,设置Index

if __name__ == __main__:
    import pandas as pd
    data = {
          
   name: Wang, age: 15, sex: male}
    df = pd.DataFrame(data, index=[0])
    print(df)

方法2、通过from_dict函数将value为标称变量的字典转换为DataFrame对象

if __name__ == __main__:
    import pandas as pd
    data = {
          
   name: Wang, age: 15, sex: male}
    df = pd.DataFrame.from_dict(data, orient=index).T
    print(df)

方法3、输入字典时,不要让value为标称属性,把value转换为list对象再传入

if __name__ == __main__:
    import pandas as pd
    data = {
          
   name: [Wang], age:[ 15], sex: [male]}
    df = pd.DataFrame(data)
    print(df)

方法4、将key和value取出来,转换为list对象

if __name__ == __main__:
    import pandas as pd
    data = {
          
   name: Wang, age: 15, sex: male}
    df = pd.DataFrame(list(data.items()))
    print(df)
经验分享 程序员 微信小程序 职场和发展