Python: Pandas: Formatowanie kolumn – metoda to_string i parametr formatters

2020-04-10

Dane to dane i kiedy przetwarzasz je w data frame, to generalnie nie należy się przejmować wyglądem tych danych. Jednak od czasu do czasu chcesz zadbać również o to jak te dane mają wyglądać.

Oto dataframe:

Data Frame ma metodę to_string, a metoda to_string przyjmuje parametr formatter, który wpływa na sposób wyświetlania danych:

A co jeśli data frame zawiera dane napisowe – string? Te polecenia skonwertują nasz data frame do tekstu:

Tu przy pomocy parametru formatters określasz, że kolumna col1 ma być wyrównana do lewej strony i napis ma być umieszczony na 10 znakach, a col2 ma być wyrównany do prawej i też na 10 znakach:

By Rafał Kraik in Python

Python: Usuwanie duplikatów z listy

2020-04-04

Tak stworzymy sobie listę, w której niektóre wyrazy się powtarzają:

Żeby sprawdzić jakie słowa się powtarzały możesz wywołać

Jest tu dużo powtarzających się wartości. Oprócz listy jest też w Pythonie obiekt set (zbiór). O ile w liście kolejność jest istotna i elementy się powtarzają, to w secie kolejności nie ma i obiekty się nie powtarzają. Taką set robi się prosto:

Ów set można znowu skonwertować do listy:

 

Taka przekonwertowana lista nie zawiera już elementów powtarzających się

By Rafał Kraik in Python

Azure: Zmiana nazwy grupy zasobów

2020-03-29

W ramach testów utworzyłem ResourceGroup i z chwilowego braku fantacji nazwałem tę grupę ppp… Szczęśliwie się okazało, że  eksperymenty się udały i właściwie moje rozwiązanie mogłoby zostać tak jak jest, gdyby tylko nie ta głupia nazwa resource group…

Niestety nie ma możliwości zmiany nazwy grupy zasobów. Jest jednak trick 😉 Można utworzyć nową grupę zasobów, a następnie przenieść obiekty z feralnej grupy do nowo utworzonej grupy.

Jeśli wykonując to zadanie, nie chcesz zbyt dużo klikać, można skorzystać z powershella:

WYkonanie nie było błyskawiczne, a wręcz myślałem, że coś się zawiesiło, ale koniec obiekty zostały poprawnie przeniesione. Teraz mogę rzeczywiście zrobić porządek 🙂

By Rafał Kraik in Azure

SQL Server: problem z odtworzeniem bazy z in memory

2020-03-15

Podczas odtwarzania bazy WideWorldImporters pojawiał się błąd, a właściwie cała seria błędów:

  • An error occurred during recovery, preventing the database ‚WideWorldImporters’ (7:0) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.
  • [WARNING] ALTER or DROP TABLE could not clean up root row within 10 seconds.
  • [ERROR] HkHostRecoverDatabaseHelper::ReportAndRaiseFailure(): Database ID: [7] ‚WideWorldImporters’. Failed to load XTP checkpoint. Error code: 0x82000018. (sql\ntdbms\hekaton\sqlhost\sqlmin\hkhostdb.cpp:5740)
  • restoreHkDatabase: DbId 7, Msg 41316, Level 16, State 0, Restore operation failed for database ‚WideWorldImporters’ with internal error code ‚0x82000031’.
  • [ERROR] HkRtRestoreDatabase(): Recovery failed with error 0x82000031 on database 7. This error will be mapped to ‚HK_E_RESTORE_ABORTED’ (0x82000018). (sql\ntdbms\hekaton\runtime\src\hkruntime.cpp:5505)
  • The code generation directory cannot be created or set up correctly.
  • Creation of directory \\?\F:\data\xtp failed for reason 3.
  • [INFO] HkCkptLoadInternalEx(): Database ID: [7]. Root file: {3E231B6B-9EF1-4AE3-A1DB-BD01DC866DD9}, watermark: 40, RecoveryLsn: 00000272:00005EC4:0002, RecoveryCheckpointId: 4, RecoveryCheckpointTimestamp: 0xb

Czytaj dalej »

By Rafał Kraik in SQL

VirtualBox – błąd: WHvSetupPartition failed – VERR_NEM_VM_CREATE_FAILED

2020-03-01

Korzystanie z techik wirtualizacji to na dzisiaj konieczność. Zazwyczaj korzystam z Hyper-V, który jest licencjonowany razem z systemem operacyjnym, więc jeden kłopot z głowy.

Do zastosowań prywatnych są jednak dostępne rozwiązania VirtualBox lub VMPlayer. Od czasu do czasu trzeba więc skorzystać z jednej lub innej technologii. I tu może się pojawić konflikt.

Podczas uruchamiania maszyny wirtualnej pod VirtualBoxem pojawił się błąd:

WHvSetupPartition failed – VERR_NEM_VM_CREATE_FAILED

Najwyraźniej jest to powodowane właśnie obecnością innych „wirtualizatorów”, bo wykonanie polecenia:

i restart komputera pomogły!

By Rafał Kraik in Helpdesk

SQL: Query Store 1 – Konfiguracja

2020-02-22

Kiedyś zapytanie działało dobrze, a teraz działa gorzej? Co się zmieniło, że spadek wydajności jest zauważalny?

Nie ma na to jednej odpowiedzi, bo do kroków analizy należałoby dodać także sprawdzenie dostępnej ilości RAM, szybkości dostępu do dysków itp. O ile jednak administratorzy z tymi testami zazwyczaj problemów nie mają, o tyle sprawdzanie wydajności z dokładnością do pojedynczego zapytania zwykle było pewnym problemem. Rozwiązaniem, które ma w tym pomóc jest Query Store dostępny w SQL Server od wersji 2016.

Dzięki zbieranym statystykom na temat zapytań, administrator może porównać plany zapytań jakie były wykorzystywane pewien czas temu z tymi, jakie są wykorzystywane teraz, a nawet określić, który plan zapytania ma być stosowany. I to wszystko odbywa się bez ingerencji w plan zapytania!

Oto jak skonfigurować Query Store

Query Store może być włączony na poziomie bazy danych:

Korzystając z polecenia alter można zmieniać konfigurację Query Store: Czytaj dalej »

By Rafał Kraik in SQL

Python: Pycharm – wyświetlanie dużych DataFame ze wszystkimi kolumnami bez kropek

2020-02-22

Kiedy pracujesz z dużymi danymi w Pycharm, chcesz zwykle zobaczyć, co w tych danych się znajduje. Najprościej to zrobić wyświetlając DataFrame na ekranie. Niestety, jeśli obiekt ma wiele kolumn to domyślnie zostanie wyświetlonych tylko kilka a między nimi pojawi się symbol trzech kropek mówiący o tym, że nie wszystko się zmieściło. Podobnie kiedy do wyświetlenia jest wiele wierszy, może pojawić się jeden wiersz wypełniony kropkami, informujący o tym, że python zdecydował się nie wyświetlać wszystkiego:

Co zrobić?

Metoda 1. Dodajesz kilka poleceń, które zmieniają opcje działania poleceń wyświetlających data frame:

– display.width – ile znaków może być w jednej linijce w czasie wyświetlania wiersza

– display.max_columns – ile kolumn ma być maksymalnie wyświetlanych

– jeśli to samo chciałbyś robić z obiektami numpy to jest do tego opcja linewidth Czytaj dalej »

By Rafał Kraik in Python