- 我有一个很大的数据框(从csv文件通过熊猫导入)与大量的值(259行×27列)。该指数是个从1996年1月通过开始2017年七月
Image of my dataframe从具有大量值的数据框中快速创建数组?
我希望通过今年每一列例如排序K37L:1996年,1997年,1998年,1999年,2000年等; K37M:1996,1997,1998,1999,2000等
这是我的当前代码:
- 这将产生什么我想要:K37L filtered by 1996
#Importing CSV import pandas as pd import numpy as np df = pd.read_csv('file.csv', index_col=0, skipinitialspace=True) #Calling a column K37L = df['K37L'] #Filtering this column by year (from 1996 to 2017) K37L96 = K37L.filter(regex = '1996', axis = 0); npK37L96 = np.array(K37L96) ... ... ... K37L17 = K37L.filter(regex = '2017', axis = 0); npK37L17 = np.array(K37L17)
但是,这是一个单调乏味的过程,因为我必须输入所有年份和列名以g等我想要什么,这将需要很长时间。有没有更快/更优雅的方式来做到这一点?
编辑:这里是要求df.head()输出:
K37L K37M K37N K37P K37Q K37R K37S K37T K37U K37V ... \
1996 Jan 78.9 79.4 71.7 36.7 0.0 88.7 94.1 90.7 80.2 98.9 ...
1996 Feb 79.3 81.0 72.7 36.7 0.0 88.7 94.3 90.9 79.8 98.7 ...
1996 Mar 79.8 80.4 72.7 36.7 0.0 89.0 94.6 91.0 79.6 98.6 ...
1996 Apr 80.4 80.7 72.9 36.7 0.0 89.0 94.6 91.3 79.2 97.9 ...
1996 May 80.6 80.7 72.9 36.7 0.0 89.1 94.7 91.9 79.2 96.6 ...
K385 K386 K387 K388 K389 K38A K38B K38C K38D K38E
1996 Jan 70.9 78.7 257.8 83.9 79.7 92.2 73.8 86.4 79.6 74.0
1996 Feb 70.7 78.7 257.2 83.9 79.8 92.6 73.7 86.6 79.9 73.9
1996 Mar 70.9 78.7 257.3 83.9 80.1 92.6 73.8 87.2 80.1 74.0
1996 Apr 70.8 78.9 256.6 83.9 80.4 92.7 73.9 87.9 80.7 74.0
1996 May 70.9 78.9 256.3 83.9 80.5 92.9 73.9 88.0 80.7 74.1
[5 rows x 27 columns]
请不要公开你的数据图片。只需将'df.head()'的输出复制粘贴为原始文本... – blacksite
道歉,我已将df.head()输出添加到主要问题 – DanONS