将 4*1 数据帧重塑为 2*2 数据帧
Reshaping 4*1 dataframe into 2*2 dataframe
我的数据框如下
df_testcase = pd.DataFrame(['16SCSE102014','15/03/2019','16SCSE101350','15/03/2019'])
Initial dataframe
我需要将它转换成 2*2 数据帧
Expected dataframe
有人可以帮忙吗?
谢谢
我不确定是否有一种简单的方法可以使用 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
你真的应该包括一个你正在谈论的例子,并遵循评论中的建议..
至于你说的是什么:
# If res is your (4,1) DataFrame, you can just do
res = df2.values.reshape(2,2)
df = pd.DataFrame(res)
我的数据框如下
df_testcase = pd.DataFrame(['16SCSE102014','15/03/2019','16SCSE101350','15/03/2019'])
Initial dataframe
我需要将它转换成 2*2 数据帧
Expected dataframe
有人可以帮忙吗? 谢谢
我不确定是否有一种简单的方法可以使用 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
你真的应该包括一个你正在谈论的例子,并遵循评论中的建议..
至于你说的是什么:
# If res is your (4,1) DataFrame, you can just do
res = df2.values.reshape(2,2)
df = pd.DataFrame(res)