Как мне прочитать первые 5 строк в этом столбце, перейти к n-й строке и снова прочитать следующие 5 строк, пока я не достигну конца данных столбца? - PullRequest
0 голосов
/ 11 июля 2019

Я читаю из файла CSV, используя Python, и я вытащил данные из одного столбца. Каждые 15 строк представляют собой набор данных для одной категории, но релевантны только первые 5 строк из этого набора. Как я могу прочитать первые 5 строк каждых 15 строк из 205 строк? Он читает каждые 15 до определенного момента, а затем начинает смещаться. Синие прямоугольники показывают, где он начинает отклоняться. Вот изображение моего формата данных из столбца:

image

  inp = pd.read_csv(input_dir)
win = inp['File '][1:]
ny4= inp['Unnamed: 24']
df = pd.DataFrame({"Ny/4" : ny4})
ny4_len = len(ny4)

#    
for i in win:
    itr.append(i.split('_'))


for e in itr:
        plh1.append(e[4:e.index("SFRP")])
plh1 = plh1[1::13]
win_df = pd.DataFrame({'Window' : plh1})

for u in win_df['Window']:
    plh2.append(k.join(u))

chicken = len(df)/12
#kow = list(islice(ny4,1, 17)    )

#  
maxm = pd.concat(list(map(lambda x: x[1:6], np.array_split(ny4,17))), ignore_index=True)
plh2_df= pd.DataFrame({'Window Name': plh2})
ny4_data= pd.DataFrame(np.reshape(maxm.values,(17,5)), columns = ['Center', 'UL', 'UR', 'LL','LR'])
conc= pd.concat([plh2_df,ny4_data], axis=1, sort=True)

[1]: https://i.stack.imgur.com/yMqw8.png

1 Ответ

0 голосов
/ 11 июля 2019

Используйте pd.concat с np.array_split:

print(pd.concat(list(map(lambda x: x[:5], np.array_split(df, len(df) / 15))), ignore_index=True))

Теперь должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...