Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 一个接一个地添加数据帧,但增加索引_Python_Python 3.x_Pandas_Dataframe_Merge - Fatal编程技术网

Python 一个接一个地添加数据帧,但增加索引

Python 一个接一个地添加数据帧,但增加索引,python,python-3.x,pandas,dataframe,merge,Python,Python 3.x,Pandas,Dataframe,Merge,我有一个和。但是,有一列具有ID,我希望添加到其中的数据帧行从第一个数据帧的最高QID开始增加。我知道如何一个接一个地添加数据帧。第二列的列名包含在第一列中 df_qb.append(dfgrouped) 直到今天,我还试图在原始数据帧的QID列中获得最大值 # get highest QID and start the QID of the appended rows from here max_qid = df_qb.QID.astype(dtype = int, errors = 'ig

我有一个和。但是,有一列具有ID,我希望添加到其中的数据帧行从第一个数据帧的最高QID开始增加。我知道如何一个接一个地添加数据帧。第二列的列名包含在第一列中

df_qb.append(dfgrouped)
直到今天,我还试图在原始数据帧的QID列中获得最大值

# get highest QID and start the QID of the appended rows from here
max_qid = df_qb.QID.astype(dtype = int, errors = 'ignore').max()
但这让我想起:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-92-03bff1b7ef93> in <module>
      1 # get highest QID and start the QID of the appended rows from here
----> 2 max_qid = df_qb.QID.astype(dtype = int, errors = 'ignore').max()

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py in stat_func(self, axis, skipna, level, numeric_only, **kwargs)
  11213             return self._agg_by_level(name, axis=axis, level=level, skipna=skipna)
  11214         return self._reduce(
> 11215             f, name, axis=axis, skipna=skipna, numeric_only=numeric_only
  11216         )
  11217 

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py in _reduce(self, op, name, axis, skipna, numeric_only, filter_type, **kwds)
   3889                 )
   3890             with np.errstate(all="ignore"):
-> 3891                 return op(delegate, skipna=skipna, **kwds)
   3892 
   3893         # TODO(EA) dispatch to Index

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\nanops.py in f(values, axis, skipna, **kwds)
    123                     result = alt(values, axis=axis, skipna=skipna, **kwds)
    124             else:
--> 125                 result = alt(values, axis=axis, skipna=skipna, **kwds)
    126 
    127             return result

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\nanops.py in reduction(values, axis, skipna, mask)
    835                 result = np.nan
    836         else:
--> 837             result = getattr(values, meth)(axis)
    838 
    839         result = _wrap_results(result, dtype, fill_value)

C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\_methods.py in _amax(a, axis, out, keepdims, initial, where)
     28 def _amax(a, axis=None, out=None, keepdims=False,
     29           initial=_NoValue, where=True):
---> 30     return umr_maximum(a, axis, None, out, keepdims, initial, where)
     31 
     32 def _amin(a, axis=None, out=None, keepdims=False,

TypeError: '>=' not supported between instances of 'str' and 'float'
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
1#获取最高QID并从这里开始附加行的QID
---->2 max_qid=df_qb.qid.astype(dtype=int,errors='ignore')。max()
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\generic.py在stat\u func中(self、axis、skipna、level、仅限数值,**kwargs)
11213返回自我。按级别(名称,轴=轴,级别=级别,skipna=skipna)
11214返回自我(
>11215 f,名称,轴=轴,skipna=skipna,仅数值=仅数值
11216         )
11217
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\series.py in\u reduce(self、op、name、axis、skipna、仅数字、过滤器类型、**kwds)
3889                 )
3890带有np.errstate(all=“ignore”):
->3891返回op(代表,skipna=skipna,**kwds)
3892
3893#待办事项(EA)发送至索引
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\nanops.py(值、轴、skipna、**kwds)
123结果=高度(值,轴=轴,skipna=skipna,**kwds)
124其他:
-->125结果=高度(值,轴=轴,skipna=skipna,**kwds)
126
127返回结果
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\nanops.py缩减(值、轴、skipna、掩码)
835结果=np.nan
836其他:
-->837结果=getattr(值,方法)(轴)
838
839结果=\包装\结果(结果、数据类型、填充\值)
C:\ProgramData\Anaconda3\lib\site packages\numpy\core\\u methods.py in\u amax(a,axis,out,keepdims,initial,where)
28 def _amax(a,轴=无,输出=无,keepdims=假,
29初始值=新值,其中=真):
--->30返回umr_最大值(a、轴、无、输出、保持、初始、其中)
31
32 def _amin(a,轴=无,输出=无,keepdims=假,
TypeError:“>=”在“str”和“float”的实例之间不受支持
如果选中:

错误{'raise','ignore'},默认为'raise'
控制对提供的数据类型的无效数据引发异常

raise:允许引发异常
忽略:抑制异常。出错时返回原始对象

因此,要将值转换为数字,您需要使用
errors='compresse'

max_qid = pd.to_numeric(df_qb.QID, errors = 'coerce').max()
dfgrouped['QID'] = np.arange(max_qid + 1, max_qid + len(dfgrouped) + 1)

df = df_qb.append(dfgrouped)

非常感谢!我如何在
QID
列中使用此数字附加一个新的数据帧?@revolumiconformonica-不确定是否100%理解,如果需要覆盖
dfgrouped['QID']
列,使用
max_QID
中的连续值使用编辑的答案。