title |
---|
Polars vs Pandas vs Nushell |
A dataframe example based on https://studioterabyte.nl/en/blog/polars-vs-pandas
let df = (dfr open NYCTaxi.csv)
$df | shape
Output:
โญโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ # โ rows โ columns โ
โโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ 0 โ 1458644 โ 11 โ
โโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ # โ rows โ columns โ
โฐโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
$df | first 5
Output:
โญโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฎ
โ # โ id โ vendor_id โ pickup_dateti โ dropoff_datet โ passenger_cou โ pickup_longit โ pickup_latitu โ dropoff_longi โ dropoff_latit โ store_and_fw โ trip_duratio โ
โ โ โ โ me โ ime โ nt โ ude โ de โ tude โ ude โ d_flag โ n โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ 0 โ id2875421 โ 2 โ 2016-03-14 โ 2016-03-14 โ 1 โ -73.98 โ 40.77 โ -73.96 โ 40.77 โ N โ 455 โ
โ โ โ โ 17:24:55 โ 17:32:30 โ โ โ โ โ โ โ โ
โ 1 โ id2377394 โ 1 โ 2016-06-12 โ 2016-06-12 โ 1 โ -73.98 โ 40.74 โ -74.00 โ 40.73 โ N โ 663 โ
โ โ โ โ 00:43:35 โ 00:54:38 โ โ โ โ โ โ โ โ
โ 2 โ id3858529 โ 2 โ 2016-01-19 โ 2016-01-19 โ 1 โ -73.98 โ 40.76 โ -74.01 โ 40.71 โ N โ 2124 โ
โ โ โ โ 11:35:24 โ 12:10:48 โ โ โ โ โ โ โ โ
โ 3 โ id3504673 โ 2 โ 2016-04-06 โ 2016-04-06 โ 1 โ -74.01 โ 40.72 โ -74.01 โ 40.71 โ N โ 429 โ
โ โ โ โ 19:32:31 โ 19:39:40 โ โ โ โ โ โ โ โ
โ 4 โ id2181028 โ 2 โ 2016-03-26 โ 2016-03-26 โ 1 โ -73.97 โ 40.79 โ -73.97 โ 40.78 โ N โ 435 โ
โ โ โ โ 13:30:55 โ 13:38:10 โ โ โ โ โ โ โ โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ # โ id โ vendor_id โ pickup_dateti โ dropoff_datet โ passenger_cou โ pickup_longit โ pickup_latitu โ dropoff_longi โ dropoff_latit โ store_and_fw โ trip_duratio โ
โ โ โ โ me โ ime โ nt โ ude โ de โ tude โ ude โ d_flag โ n โ
โฐโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโฏ
let ids = ($df | first 5 | get id | str-lengths)
$df | first 5 | append $ids | rename id_x vendor_id_length
Output:
โญโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฎ
โ # โ id โ vendor_id โ pickup_datet โ dropoff_date โ passenger_c โ pickup_long โ pickup_lati โ dropoff_lon โ dropoff_lat โ store_and_f โ trip_durati โ vendor_id_l โ
โ โ โ โ ime โ time โ ount โ itude โ tude โ gitude โ itude โ wd_flag โ on โ ength โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ 0 โ id2875421 โ 2 โ 2016-03-14 โ 2016-03-14 โ 1 โ -73.98 โ 40.77 โ -73.96 โ 40.77 โ N โ 455 โ 9 โ
โ โ โ โ 17:24:55 โ 17:32:30 โ โ โ โ โ โ โ โ โ
โ 1 โ id2377394 โ 1 โ 2016-06-12 โ 2016-06-12 โ 1 โ -73.98 โ 40.74 โ -74.00 โ 40.73 โ N โ 663 โ 9 โ
โ โ โ โ 00:43:35 โ 00:54:38 โ โ โ โ โ โ โ โ โ
โ 2 โ id3858529 โ 2 โ 2016-01-19 โ 2016-01-19 โ 1 โ -73.98 โ 40.76 โ -74.01 โ 40.71 โ N โ 2124 โ 9 โ
โ โ โ โ 11:35:24 โ 12:10:48 โ โ โ โ โ โ โ โ โ
โ 3 โ id3504673 โ 2 โ 2016-04-06 โ 2016-04-06 โ 1 โ -74.01 โ 40.72 โ -74.01 โ 40.71 โ N โ 429 โ 9 โ
โ โ โ โ 19:32:31 โ 19:39:40 โ โ โ โ โ โ โ โ โ
โ 4 โ id2181028 โ 2 โ 2016-03-26 โ 2016-03-26 โ 1 โ -73.97 โ 40.79 โ -73.97 โ 40.78 โ N โ 435 โ 9 โ
โ โ โ โ 13:30:55 โ 13:38:10 โ โ โ โ โ โ โ โ โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ # โ id โ vendor_id โ pickup_datet โ dropoff_date โ passenger_c โ pickup_long โ pickup_lati โ dropoff_lon โ dropoff_lat โ store_and_f โ trip_durati โ vendor_id_l โ
โ โ โ โ ime โ time โ ount โ itude โ tude โ gitude โ itude โ wd_flag โ on โ ength โ
โฐโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโฏ
Here's an alternate approach using with-column
$df | first 5 | with-column ($df | first 5 | get id | str-lengths) --name vendor_id_length
Output:
โญโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฎ
โ # โ id โ vendor_id โ pickup_datet โ dropoff_date โ passenger_c โ pickup_long โ pickup_lati โ dropoff_lon โ dropoff_lat โ store_and_f โ trip_durati โ vendor_id_l โ
โ โ โ โ ime โ time โ ount โ itude โ tude โ gitude โ itude โ wd_flag โ on โ ength โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ 0 โ id2875421 โ 2 โ 2016-03-14 โ 2016-03-14 โ 1 โ -73.98 โ 40.77 โ -73.96 โ 40.77 โ N โ 455 โ 9 โ
โ โ โ โ 17:24:55 โ 17:32:30 โ โ โ โ โ โ โ โ โ
โ 1 โ id2377394 โ 1 โ 2016-06-12 โ 2016-06-12 โ 1 โ -73.98 โ 40.74 โ -74.00 โ 40.73 โ N โ 663 โ 9 โ
โ โ โ โ 00:43:35 โ 00:54:38 โ โ โ โ โ โ โ โ โ
โ 2 โ id3858529 โ 2 โ 2016-01-19 โ 2016-01-19 โ 1 โ -73.98 โ 40.76 โ -74.01 โ 40.71 โ N โ 2124 โ 9 โ
โ โ โ โ 11:35:24 โ 12:10:48 โ โ โ โ โ โ โ โ โ
โ 3 โ id3504673 โ 2 โ 2016-04-06 โ 2016-04-06 โ 1 โ -74.01 โ 40.72 โ -74.01 โ 40.71 โ N โ 429 โ 9 โ
โ โ โ โ 19:32:31 โ 19:39:40 โ โ โ โ โ โ โ โ โ
โ 4 โ id2181028 โ 2 โ 2016-03-26 โ 2016-03-26 โ 1 โ -73.97 โ 40.79 โ -73.97 โ 40.78 โ N โ 435 โ 9 โ
โ โ โ โ 13:30:55 โ 13:38:10 โ โ โ โ โ โ โ โ โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ # โ id โ vendor_id โ pickup_datet โ dropoff_date โ passenger_c โ pickup_long โ pickup_lati โ dropoff_lon โ dropoff_lat โ store_and_f โ trip_durati โ vendor_id_l โ
โ โ โ โ ime โ time โ ount โ itude โ tude โ gitude โ itude โ wd_flag โ on โ ength โ
โฐโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโฏ
4. Opening the file and apply a function to the "trip_duration" to divide the number by 60 to go from the second value to a minute value
$df | first 5 | with-column ((col trip_duration) / 60.0)
Output:
โญโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฎ
โ # โ id โ vendor_id โ pickup_dateti โ dropoff_datet โ passenger_cou โ pickup_longit โ pickup_latitu โ dropoff_longi โ dropoff_latit โ store_and_fw โ trip_duratio โ
โ โ โ โ me โ ime โ nt โ ude โ de โ tude โ ude โ d_flag โ n โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ 0 โ id2875421 โ 2 โ 2016-03-14 โ 2016-03-14 โ 1 โ -73.98 โ 40.77 โ -73.96 โ 40.77 โ N โ 7.58 โ
โ โ โ โ 17:24:55 โ 17:32:30 โ โ โ โ โ โ โ โ
โ 1 โ id2377394 โ 1 โ 2016-06-12 โ 2016-06-12 โ 1 โ -73.98 โ 40.74 โ -74.00 โ 40.73 โ N โ 11.05 โ
โ โ โ โ 00:43:35 โ 00:54:38 โ โ โ โ โ โ โ โ
โ 2 โ id3858529 โ 2 โ 2016-01-19 โ 2016-01-19 โ 1 โ -73.98 โ 40.76 โ -74.01 โ 40.71 โ N โ 35.40 โ
โ โ โ โ 11:35:24 โ 12:10:48 โ โ โ โ โ โ โ โ
โ 3 โ id3504673 โ 2 โ 2016-04-06 โ 2016-04-06 โ 1 โ -74.01 โ 40.72 โ -74.01 โ 40.71 โ N โ 7.15 โ
โ โ โ โ 19:32:31 โ 19:39:40 โ โ โ โ โ โ โ โ
โ 4 โ id2181028 โ 2 โ 2016-03-26 โ 2016-03-26 โ 1 โ -73.97 โ 40.79 โ -73.97 โ 40.78 โ N โ 7.25 โ
โ โ โ โ 13:30:55 โ 13:38:10 โ โ โ โ โ โ โ โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ # โ id โ vendor_id โ pickup_dateti โ dropoff_datet โ passenger_cou โ pickup_longit โ pickup_latitu โ dropoff_longi โ dropoff_latit โ store_and_fw โ trip_duratio โ
โ โ โ โ me โ ime โ nt โ ude โ de โ tude โ ude โ d_flag โ n โ
โฐโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโฏ
$df | filter-with ((col trip_duration) >= 500) | first 5
Output:
โญโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฎ
โ # โ id โ vendor_id โ pickup_dateti โ dropoff_datet โ passenger_cou โ pickup_longit โ pickup_latitu โ dropoff_longi โ dropoff_latit โ store_and_fw โ trip_duratio โ
โ โ โ โ me โ ime โ nt โ ude โ de โ tude โ ude โ d_flag โ n โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ 0 โ id2377394 โ 1 โ 2016-06-12 โ 2016-06-12 โ 1 โ -73.98 โ 40.74 โ -74.00 โ 40.73 โ N โ 663 โ
โ โ โ โ 00:43:35 โ 00:54:38 โ โ โ โ โ โ โ โ
โ 1 โ id3858529 โ 2 โ 2016-01-19 โ 2016-01-19 โ 1 โ -73.98 โ 40.76 โ -74.01 โ 40.71 โ N โ 2124 โ
โ โ โ โ 11:35:24 โ 12:10:48 โ โ โ โ โ โ โ โ
โ 2 โ id1324603 โ 2 โ 2016-05-21 โ 2016-05-21 โ 1 โ -73.97 โ 40.80 โ -73.92 โ 40.76 โ N โ 1551 โ
โ โ โ โ 07:54:58 โ 08:20:49 โ โ โ โ โ โ โ โ
โ 3 โ id0012891 โ 2 โ 2016-03-10 โ 2016-03-10 โ 1 โ -73.98 โ 40.74 โ -73.97 โ 40.79 โ N โ 1225 โ
โ โ โ โ 21:45:01 โ 22:05:26 โ โ โ โ โ โ โ โ
โ 4 โ id1436371 โ 2 โ 2016-05-10 โ 2016-05-10 โ 1 โ -73.98 โ 40.76 โ -74.00 โ 40.73 โ N โ 1274 โ
โ โ โ โ 22:08:41 โ 22:29:55 โ โ โ โ โ โ โ โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ # โ id โ vendor_id โ pickup_dateti โ dropoff_datet โ passenger_cou โ pickup_longit โ pickup_latitu โ dropoff_longi โ dropoff_latit โ store_and_fw โ trip_duratio โ
โ โ โ โ me โ ime โ nt โ ude โ de โ tude โ ude โ d_flag โ n โ
โฐโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโฏ
6. Opening the file, filtering out all the rows with a "Y" store_and_fwd_flag value, group by ID and calculate the mean duration time
$df | filter-with ((col store_and_fwd_flag) == "N") | group-by id | agg (col trip_duration | mean) | sort-by id | first 5
Output:
โญโโโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฎ
โ # โ id โ trip_duration โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโค
โ 0 โ id0000001 โ 1105.00 โ
โ 1 โ id0000003 โ 1046.00 โ
โ 2 โ id0000005 โ 368.00 โ
โ 3 โ id0000008 โ 303.00 โ
โ 4 โ id0000009 โ 547.00 โ
โโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโค
โ # โ id โ trip_duration โ
โฐโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโฏ