pandas 在panda Dataframe 中添加具有更多值的列时出现值错误

qpgpyjmq  于 2023-01-19  发布在  其他
关注(0)|答案(2)|浏览(186)

我正在尝试插入一个列,与其他列相比,该列中的值数量较多,这将导致值错误。如何避免错误/

import pandas as pd
table5={'Roll':[1,2,3,4,5],'Name':['Nidhi','Anil','Poonam','Karambir','Sangeeta'],
        'Marks':[87,45,67,39,78]}
indexelements=['S1','S2','S3','S4','S5']
df=pd.DataFrame(table5,index=indexelements)

df.insert(1,'gender',['F','M','F','M','F','F'])

它显示:值错误:值(6)的长度与索引(5)的长度不匹配

l7mqbcuq

l7mqbcuq1#

新列中值的数目必须与DataFrame中的行数匹配,否则panda将引发ValueError。
这里,您尝试在gender列中插入6['F','M','F','M','F','F'],而DataFrame中的行数是5

bqjvbblv

bqjvbblv2#

这是你想要的吗?

import pandas as pd
import numpy as np

table5 = {'Roll': [1, 2, 3, 4, 5], 'Name': ['Nidhi', 'Anil', 'Poonam', 'Karambir', 'Sangeeta'],
          'Marks': [87, 45, 67, 39, 78]}
index_elements=['S1', 'S2', 'S3', 'S4', 'S5']
df=pd.DataFrame(table5, index=index_elements)
df.loc['S6'] = [np.nan, np.nan, np.nan]
print(df)

df['gender'] = ['F', 'M', 'F', 'M', 'F', 'F']
print(df)

相关问题