将4 * 1数据帧重塑为2 * 2数据帧

时间:2019-07-06 09:33:11

标签: python pandas dataframe reshape data-manipulation

我的数据数据框如下

df_testcase = pd.DataFrame(['16SCSE102014','15/03/2019','16SCSE101350','15/03/2019'])

Initial dataframe

我需要将其转换为2 * 2数据帧

Expected dataframe

有人可以帮忙吗? 谢谢。

2 个答案:

答案 0 :(得分:1)

我不确定是否有使用pandas数据框的简单方法。但是您可以使用numpy这样实现:

import pandas as pd
import numpy as np
df = pd.DataFrame({'the_only_column':[1,'a',2,'b',3,'c']})

np_array = np.array(df['the_only_column'])
np_array = np.reshape(np_array, (np_array.shape[0]//2, 2))

df = pd.DataFrame(np_array, columns=['new_column_name', 'other_column_name'])
print(df)

输出为:

  new_column_name other_column_name
0               1                 a
1               2                 b
2               3                 c

答案 1 :(得分:1)

您确实应该包括一个您正在谈论的例子,并遵循评论中的建议。

关于您在说什么:

# If res is your (4,1) DataFrame, you can just do
res = df2.values.reshape(2,2)
df = pd.DataFrame(res)