我正在尝试将Pandas.DataFrame(df)的数据转换为形状(3,1),每一行都是Pandas.Series。 当我运行代码时,我会在每个单元格中不断获取NaN而不是Pandas.Series。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),columns=['a', 'b', 'c'])
s = pd.DataFrame(np.zeros(len(df.index))) #creates desired shape
for index, row in df.iterrows():
print(row)
s.iloc[index] = pd.Series(row)
s.head()
答案 0 :(得分:0)
这可能就是您想要的
X_train = np.array(pd.Series(df.values.tolist())).reshape(3, 1)
print(X_train.shape)
(3, 1)
答案 1 :(得分:0)
您不应将位置设置为值。而是考虑将DataFrame创建为
s = pd.DataFrame(columns=['new_column']) # Empty Dataframe with 1 Column
然后您可以在行中附加
s = s.append({'new_column': row}, ignore_index=True) # Add the Series as an Element