![](/img/trans.png)
[英]TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid I got this error
[英]pd.concat in pandas is giving a TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid
我有 2 個數據框。 我正在對它們進行切片以創建 2 個子集數據框。 創建子集后,我想連接這兩個子集,然后分析連接的子集。
第一個子集 dataframe
year_d_df = df_calender[['year']]
第二個子集 dataframe
daily_df_train = pd.DataFrame(df_train.loc[:,'d_1':].sum(), columns = ['Count'])
重命名第二個子集 dataframe 索引以使其與子集 dataframe 1 相同。這是連接的先決條件。 索引必須相同,否則 NaN 值將作為連接過程的一部分插入。
idx=0
for value in daily_df_train.index:
if idx < 1914:
daily_df_train.rename({value: idx}, axis = 'index', inplace=True)
idx += 1
創建了以上 2 個子集。 如果我對它們進行類型,它們將返回為 dataframe。 但是當我嘗試連接它們時,我得到了 TypeError。
連接子集數據幀:
yearly_trend = pd.concat(['daily_df_train','years_d_df'])
TypeError Traceback (most recent call last)
<ipython-input-101-e5e68495a055> in <module>
yearly_trend = pd.concat(['daily_df_train','years_d_df'])
----Error
~\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py
TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid
兩個子集都是 dataframe。 它們都有 1 列,每列都是 int64 類型。 那么,為什么這段代碼會產生 TypeError 呢?
我認為問題在於變量標識符用引號引起來。 因此,您嘗試連接字符串而不是數據幀本身。 嘗試:
yearly_trend = pd.concat([daily_df_train,years_d_df])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.