Софтуерно Инженерство
Loading...
yana_neykova avatar yana_neykova 3 Точки

Python - file data processing

Здравейте, опитвам се да обработя един файл, който е със около 200 000 реда, 15 колони , csv file. Информацията е за 

Данните в него имат следната повтаряемост:

  • в колона 2 се съдържа вид цвете, като всеки 10 реда са с еднакви стойности - 1-10 ред е лале, 11-20 ред  - роза, и т.н.
  • в колона 3 се съдържа уникален код за това цвете, със същата повтаряемост - 1-10 ред кода е един и същ, 11-20 ред отново се повтаря и т.н.
  • в колона 6 се съдържа инфомация за номера на фактурата, с която цветето/букета е закупен. Номерата може да са последователни.

Задачата е да се напише програма , която да може автоматично да попълва номерата по описаната логика.

Първо си прочетох файла с pd.read_csv , и после започнах с  for-loop, но там запецнах и не успявам да го оправя.....Някой има ли идея как мое да стане?

Благодаря предварително!

0
Python
BoYaN avatar BoYaN 331 Точки

Здрасти,
би ли споделила кода, който си писала да видим докъде точно си го докарала да върви и какво се чупи.
Иначе четеш ред по ред, всеки ред го сплитваш по запетая и си взимаш/слагаш стойностите на определите позиции.
 

0
TeodorStefanovPld avatar TeodorStefanovPld 1286 Точки

доколкото я разбирам тя има dataset и реално трябва да си направи 3 проверки и зависимост от вида на цветето да слага нещата в колоната 

 for loop тук ще ти минава през всеки ред на датасета през всяка колона  и колоните ще и почват от 1 до n става тегаво.

по-скоро бих го направил с нещо от сорта на 

df(това е сета с цветята)[df['flower']==лале - примерно,' unique code']=xx

 нещо такова прави си няколко if-a или просто го copy paste някоко пъти с различните условия и толкова.

общо взето какво се случва pandas автоматично ще смени в 3та колона на подадената стойност хх там където цветето отговаря на определения тип примерно лале и ще го направи на всички позиций дали с 5 10 100 няма значение, има начин и с iloc  и slices но там става малко пипкаво. Поне аз доколото разбрах ползва Jupiter notebook pd.csv.read е  синтаксис на pandas библиотеката. Но  може и да бъркам ако даде малко повече инфо ще стане по добре .

Като за фактурите може да се направи по същия начин,аз бих си направил един метод да взема уникалните имена/видове/код или там каквото ми определя цветята и после в един foreach или for цикъл за всеки индикатор  ще сменям тея стойности наведнъж в bulk звучи ми най-смислено и бързо.

0
13/08/2018 11:59:58
yana_neykova avatar yana_neykova 3 Точки

Мерси за идеит! Утре ще споделя кода, който съм писала, като си стигна до компютъра .

0