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

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日

悬赏问题

  • ¥15 milvus查询出来的score怎么转换成0-1之间的相似性
  • ¥15 多ip服务器站群如何搭建l2tp服务器
  • ¥15 lvgl V9移植到linux开发板
  • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
  • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗
  • ¥15 Sharepoint JS开发 付费技术指导
  • ¥15 输入程序运行仿真后,烟雾值不实时检测,变成固定值
  • ¥20 数据排序,可选择排序方向
  • ¥15 修改一下代码,考虑进程到达时间不同的情况
  • ¥15 帮我看看这是个啥题,带解题过程和结果,条件如下FCF = 290471.33 g1 = 15% r = 8% g2 = 4% n = 5