python创建dataframe

img


我想用这个字典创建一个dataframe,练习index和columns给行索引和列索引重命名,但为什么这样产生的dataframe都变成了NaN了呢

您可能是在使用字典来创建dataframe时,字典中的键或值不符合dataframe的格式。pandas中创建dataframe的方法有多种,可以使用字典、列表、numpy数组等方式。

例如使用字典创建dataframe的方法如下:

data = {'name': ['Tom', 'Jerry', 'Spike'],
        'age': [20, 21, 22],
        'gender': ['male', 'male', 'male']}
df = pd.DataFrame(data)

在这个例子中,键'name'、'age'、'gender'分别对应dataframe的列,字典的值则对应dataframe的每一行的值。

若字典中键值不是每行对应的值而是列名,那么在创建dataframe时会产生NaN。

这是因为原先的data是字典而非列表,在行列索引重命名的时候,数据格式不对,因此就会出现问题。
只需要将代码中的data改为data.values(),将待处理的数据转变为字典的值组成的列表即可。

如果解决了您的问题,还请采纳,谢谢~

img