世界没我不行 2021-01-25 16:15 采纳率: 66.7%
浏览 682
已结题

Python中pandas的DataFrame,给列赋值出现错误的问题

我的题目是从一个txt中读取一些数据,经过某个函数,得到想要的结果:

三组数据分别存放在了input_number、target_number、output_number三个list中,并且长度均为3

但是创建dataframe并且赋值后,出现了如下错误:

import pandas as pd

contents=["输入","target","输出"]

df=pd.DataFrame(columns=contents)
df.iloc[:,0]=input_number
df.iloc[:,1]=target_number
df.iloc[:,2]=output_number

错误:

ValueError                                Traceback (most recent call last)
<ipython-input-81-e33a778f90ec> in <module>()
     23 df.iloc[:,0]=input_number
     24 df.iloc[:,1]=target_number
---> 25 df.iloc[:,2]=output_number

D:\Anaconda\lib\site-packages\pandas\core\indexing.py in __setitem__(self, key, value)
    192             key = com._apply_if_callable(key, self.obj)
    193         indexer = self._get_setitem_indexer(key)
--> 194         self._setitem_with_indexer(indexer, value)
    195 
    196     def _has_valid_type(self, k, axis):

D:\Anaconda\lib\site-packages\pandas\core\indexing.py in _setitem_with_indexer(self, indexer, value)
    581                     value = np.array(value, dtype=object)
    582                     if len(labels) != value.shape[1]:
--> 583                         raise ValueError('Must have equal len keys and value '
    584                                          'when setting with an ndarray')
    585 

ValueError: Must have equal len keys and value when setting with an ndarray

然后我尝试了将最后一行代码放在第二位,或者第一位:

import pandas as pd

contents=["输入","target","输出"]

df=pd.DataFrame(columns=contents)
df.iloc[:,2]=output_number
df.iloc[:,0]=input_number
df.iloc[:,1]=target_number
import pandas as pd

contents=["输入","target","输出"]

df=pd.DataFrame(columns=contents)
df.iloc[:,0]=input_number
df.iloc[:,2]=output_number
df.iloc[:,1]=target_number

都是可以执行成功的:

请问这是什么原因呢?找了一下发现有类似的,都是迭代之类的问题,但是我这个好像不是啊....

谢谢各位!!

  • 写回答

1条回答 默认 最新

  • 关注
    import pandas as pd
    
    df=pd.DataFrame()
    df['输入']=input_number
    df['target']=output_number
    df['输出']=target_number

    直接这样就可以吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?