Pandas 为熊猫中的间隔指定标题
如何为创建的每个不同间隔分配列名?IIUC,您可以使用Pandas 为熊猫中的间隔指定标题,pandas,numpy,Pandas,Numpy,如何为创建的每个不同间隔分配列名?IIUC,您可以使用pd.concat函数,并根据索引将它们连接到新的数据框中: import numpy as np xlist = np.arange(1, 100).tolist() df = pd.DataFrame(xlist,columns=['Numbers'],dtype=int) pd.cut(df['Numbers'],5) 预期的输出是什么?假设有一个数字为1到100的数据帧,那么我必须创建5个间隔为20的列,然后为每个间隔分配新列。对于
pd.concat
函数,并根据索引将它们连接到新的数据框中:
import numpy as np
xlist = np.arange(1, 100).tolist()
df = pd.DataFrame(xlist,columns=['Numbers'],dtype=int)
pd.cut(df['Numbers'],5)
预期的输出是什么?假设有一个数字为1到100的数据帧,那么我必须创建5个间隔为20的列,然后为每个间隔分配新列。对于例如:第1列1至20列、第2列21至40列等,您是否使用与上述代码完全相同的代码?
# get indexes
l = df.index.tolist()
n =20
indexes = [l[i:i + n] for i in range(0, len(l), n)]
# create new data frame
new_df = pd.concat([df.iloc[x].reset_index(drop=True) for x in indexes], axis=1)
new_df.columns = ['Numbers'+str(x) for x in range(new_df.shape[1])]
print(new_df)
Numbers0 Numbers1 Numbers2 Numbers3 Numbers4
0 1 21 41 61 81.0
1 2 22 42 62 82.0
2 3 23 43 63 83.0
3 4 24 44 64 84.0
4 5 25 45 65 85.0