首页 > 解决方案 > 为什么我不能复制resp。将此列插入数据框中?

问题描述

我只是想将一个数据框列复制到另一个数据框..但它不起作用:

df_transf1['timestamp'][0:3]
2018-02-05 14:00:00   2018-02-05 14:00:00
2018-02-05 15:00:00   2018-02-05 15:00:00
2018-02-05 16:00:00   2018-02-05 16:00:00
Name: timestamp, dtype: datetime64[ns]

X_train1_df['time'] = df_transf1['timestamp'][0:len(X_train1_df)]

type(X_train1_df)
> pandas.core.frame.DataFrame

len(X_train1_df)
> 1700

X_train1_df.head()
time    A_phsA
0   NaT 1.679253
1   NaT 1.705401
2   NaT 1.518297
3   NaT 1.229420
4   NaT 1.178687

当我尝试使用A_phsA来自 df_transf1 的数字列时,它是相同的,只是使用 NaN。怎么了?

标签: pythonpandas

解决方案


由于可能存在某种索引不匹配,一种方法是将列转换为列表,然后将其分配给另一个数据帧。转换将发生在values

X_train1_df.insert(2, "time2", df_transf1['timestamp'][:len(X_train1_df)].values)

出于教育目的,您可以这样尝试:

type(df_transf1['timestamp'][:len(X_train1_df)].values)
type(df_transf1['timestamp'][:len(X_train1_df)])

推荐阅读