2024-04-26 21:26:50 发布
网友
如何将列与每个特定数量的行进行换位?你知道吗
假设有一列有1000行,我想每100行转置一列。然后我就有十排了。你知道吗
它应该是这样转置的:
column 1 data1 2 data2 3 data3 4 data4 ... 1000 data1000
至
1 data1 data2 ... data100 2 data11 data12 ... data200 ... 10 data901 data902 ... data1000
可以使用iloc对其进行切片,然后使用默认构造函数
iloc
假设你有
df = pd.DataFrame(index=range(1,1001), data={"col": ["data{}".format(i) for i in range(1,1001)]}) col 1 data1 2 data2 3 data3 4 data4 5 data5 . . . 995 data995 996 data996 997 data997 998 data998 999 data999 1000 data1000
那么
>>> vals = [df.iloc[x:x+100].col.tolist() for x in range(0, 1000, 100)] >>> pd.DataFrame(vals) 0 1 2 3 4 ... 94 95 96 97 98 99 0 data1 data2 data3 data4 data5 ... data95 data96 data97 data98 data99 data100 . . . 9 data901 data902 data903 data904 data905 ... data995 data996 data997 data998 data999 data1000
用途:
df.reset_index(drop=True,inplace=True) df['New']=df.index//2# change here to 100 in your data df['col']=df.New.groupby(df.New).cumcount() df.pivot('New','col','column') Out[205]: col 0 1 New 0 data1 data2 1 data3 data4 2 data5 data6
可以使用
iloc
对其进行切片,然后使用默认构造函数假设你有
那么
用途:
相关问题 更多 >
编程相关推荐