<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: jayson kibet</title>
    <description>The latest articles on DEV Community by jayson kibet (@jaysonjob).</description>
    <link>https://dev.to/jaysonjob</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3839740%2F773bd8d5-9eec-4246-8d09-df3546bc0127.png</url>
      <title>DEV Community: jayson kibet</title>
      <link>https://dev.to/jaysonjob</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jaysonjob"/>
    <language>en</language>
    <item>
      <title>Why Statistics is Important in Data Science</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Sat, 20 Jun 2026 08:37:33 +0000</pubDate>
      <link>https://dev.to/jaysonjob/why-statistics-is-important-in-data-science-1dih</link>
      <guid>https://dev.to/jaysonjob/why-statistics-is-important-in-data-science-1dih</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Ask ten people what data science is and you'll hear things like Python,machine learning and building dashboards.Almost nobody says "statistics."But statistics is the thing doing the real work underneath all of it.It's what tells you whether the real work actually means anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simple Example:
&lt;/h2&gt;

&lt;p&gt;I analyzed a CSV dataset of Nairobi rental listings.The data includes monthly rent,property type,bedrooms,bathrooms,floor size and distance to the CBD.&lt;br&gt;
Imagine you're looking at rental prices in Nairobi.You open your spreadsheet and see thousands of numbers staring back at you. Where do you even begin?&lt;br&gt;
Statistics gives you a starting point.First,you need to understand what kind of data you're actually dealing with.Some numbers like rent can be anything - 150,000 KES,287,500 KES you name it.But other numbers like bedrooms are whole things - you can have 1 bedroom,2 bedrooms or 3 bedrooms.You can't have 2.5 bedrooms.&lt;br&gt;
Some of your data isn't even numbers.Estates like Westlands or Kilimani are just names(text).There's no mathematical order to them.Westlands isn't "bigger" or "better" than Kilimani in any way that fits into a formula.&lt;br&gt;
This sounds obvious but if you get this wrong,everything else breaks.You might try to average something that should be counted.Or you might use the wrong test on the wrong kind of data and end up with completely meaningless results.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.What the numbers actually tell you
&lt;/h3&gt;

&lt;p&gt;Once you understand what you're working with,simple statistics start telling you a real story.&lt;br&gt;
Take the average rent in the data - 223,196 KES.But here's something interesting.The middle value - the price you get when you line up every single listing from cheapest to most expensive and pick the one in the exact middle is 190,307 KES.&lt;br&gt;
That gap between the average and the middle? It's a clue.It means a small number of really expensive properties are pulling the average upward.If you only looked at the average,you'd think rent in Nairobi is higher than what most people actually pay.The middle value gives you a much more honest picture.&lt;br&gt;
The spread of prices matters too.Most rents fall somewhere between 129,188 KES and 287,698 KES.Knowing this range helps you understand what normal market prices look like.You can also spot outliers - those properties that are way too expensive or surprisingly cheap using a simple rule instead of just guessing.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.The shape of your data matters more(fun part)
&lt;/h3&gt;

&lt;p&gt;This is where things get interesting.The rent data leans to one side - lots of cheap and mid-range listings,with a few really expensive ones stretching things out.&lt;br&gt;
Why does this matter? Because many common tools like basic regression models work best on data that spreads out evenly around the middle.If you ignore how your data is shaped and just run the numbers anyway,your results will be slightly off in ways that are really hard to catch later.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Central Limit Theorem
&lt;/h3&gt;

&lt;p&gt;There's something called the Central Limit Theorem that explains a deeper reason this matters.The simple version is this;even if your raw data is completely lopsided,if you take enough samples and look at their averages,those averages will start to form a nice normal pattern.This one idea is the reason most of the math behind confidence intervals and statistical tests actually works in the real world.Without it,a lot of what data scientists do every day wouldn't really hold up.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.The question nobody asks
&lt;/h3&gt;

&lt;p&gt;Here's something that gets skipped over way too often; you almost never have all the data.You have a sample - a small piece of a much bigger picture.This Nairobi data isn't every single rental in the city.It's just a slice.&lt;br&gt;
So the real question isn't "what's the average rent in this dataset?" The real question is "based on this small slice,what can I honestly say about rent across all of Nairobi?"&lt;br&gt;
This is exactly what statistics is built for.A confidence interval lets you say something like "we're 95% sure the real average rent across Nairobi is somewhere between 215,000 and 231,000 KES."That's much more honest than pretending you know the exact number.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.Are two things really different or does it look that way?
&lt;/h3&gt;

&lt;p&gt;Statistics also gives you a way to test if two things are genuinely different or if it's just random chance in your sample.&lt;/p&gt;

&lt;p&gt;Say you want to know if rent in Kilimani is really higher than rent in Westlands.You start by assuming there's no real difference.Then you run a test and check how surprising your result would be if that assumption were true.&lt;br&gt;
This same basic idea of testing if something is real or just luck is what companies use when they test a new app feature or pricing page on some users before rolling it out to everyone.&lt;br&gt;
In this step,you'll end up making big claims based on tiny samples and random chance.That's not a rare mistake.It's probably the most common way data analysis goes wrong.&lt;/p&gt;

&lt;h3&gt;
  
  
  6.Just because two things move together doesn't mean one causes the other
&lt;/h3&gt;

&lt;p&gt;Properties further from the city center tend to be cheaper.Easy to see,easy to plot on a chart.But just because two things move together doesn't mean one is causing the other.&lt;br&gt;
Maybe being far from town really does lower the price.But maybe both things are caused by something else entirely like less infrastructure in those areas.&lt;br&gt;
Mixing these two up; "these move together" and "one causes the other" - is one of the most common mistakes people make with data.Statistics trains you to slow down and not jump to that conclusion.&lt;/p&gt;

&lt;p&gt;You can build models that predict rent using several things at once;size,bedrooms,distance from town.But even then,the model only shows you connections.It doesn't prove what's causing what.&lt;/p&gt;

&lt;h3&gt;
  
  
  7.The traps that catch people who skip statistics
&lt;/h3&gt;

&lt;p&gt;Sometimes a pattern that's true for every small group disappears or even flips when you combine all the groups together.Sometimes if you test enough things,you'll find something that looks "significant" just by random chance even if nothing real is going on.Sometimes your data quietly leaves things out without you noticing, like a dataset of current listings missing all the properties that got rented out fast which probably wasn't random at all.&lt;br&gt;
None of these issues show up as error messages in your code.They show up as wrong answers that sound confident.And that's worse,because nothing tells you to double check.&lt;/p&gt;

&lt;h3&gt;
  
  
  8.Why all this matters for machine learning
&lt;/h3&gt;

&lt;p&gt;Every machine learning model is really just a statistics model wearing different clothes.Knowing how spread out your data is and what shape it takes helps you pick the right model and notice when something's wrong.&lt;br&gt;
Testing a model on data it hasn't seen before,which is standard practice - is really just using a sample to guess at the bigger picture.Picking good inputs for your model gets much easier once you understand which numbers actually carry useful information and which just look interesting on a graph.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Statistics is what stands between "I noticed a pattern" and "this pattern actually means something." It's the difference between reporting an average and knowing when that average is misleading you.Between seeing two things move together and knowing if it's worth acting on.Between running one test and understanding why ten tests could have fooled you.&lt;/p&gt;

&lt;p&gt;Data science without statistics isn't a simpler version of data science.It's just guessing and dressed up with a nicer chart.&lt;/p&gt;

&lt;p&gt;Statistics is what decides which one you end up with.Either to write a confident report full of wrong conclusions Or it could be used to write an honest one,with the uncertainty clearly laid out&lt;/p&gt;

&lt;p&gt;Start with the basics.Ask yourself what your data actually is,what the center looks like and how spread out it is.Getting those right will save you from getting everything else wrong.&lt;br&gt;
I hope you found this artice usefull.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>learning</category>
      <category>computerscience</category>
      <category>python</category>
    </item>
    <item>
      <title>Pandas and Visualizations Using Matplotlib and Seaborn</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Fri, 19 Jun 2026 11:07:41 +0000</pubDate>
      <link>https://dev.to/jaysonjob/pandas-and-visualizations-using-matplotlib-and-seaborn-3gdl</link>
      <guid>https://dev.to/jaysonjob/pandas-and-visualizations-using-matplotlib-and-seaborn-3gdl</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I still remember the first time someone handed me a CSV with 2,000 rows and said"find some insights in there."I had no idea where to start.Pandas is what eventually made that feel less like a chore and more like a conversation with the data.You ask it questions,it answers.And once you've cleaned things up, matplotlib and seaborn are how you actually show what you found, instead of just describing it in a paragraph nobody wants to read.&lt;br&gt;
I'm going to walk through both of these using a dataset I worked with recently,rental properties around Nairobi.Not because it's the most exciting dataset in the world but because it's exactly the kind of messy,real-world thing you'll actually run into.&lt;/p&gt;

&lt;h2&gt;
  
  
  Foundation of Pandas
&lt;/h2&gt;

&lt;p&gt;Pandas really only gives you two things to think about:&lt;br&gt;
Series - One column,on its own.&lt;br&gt;
DataFrame(df) - The full table,rows and columns together.This is where you'll live 95% of the time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj576fqt0i5u7x1km2uc3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj576fqt0i5u7x1km2uc3.png" alt=" " width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting your data
&lt;/h2&gt;

&lt;p&gt;It doesn't matter where the data is coming from,pandas reads CSVs,Excel files,JSON and even a live database connection all in roughly the same one-liner&lt;br&gt;
Below is a syntax:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh3wlciipji7s5uz5isqk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh3wlciipji7s5uz5isqk.png" alt=" " width="799" height="145"&gt;&lt;/a&gt;&lt;br&gt;
But for my housing data,you go to file explorer where you downloaded and saves the csv file,copy the file path then head back to your python environment.Before placing the link,after opening the first bracket write the letter 'R' to prevent an error since python will read the back slashes and the special characters.The photo below explains more:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpvl9uxwatg93343i8ze1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpvl9uxwatg93343i8ze1.png" alt=" " width="800" height="248"&gt;&lt;/a&gt;&lt;br&gt;
The 'df.head()' allows you to view the first 5 rows by default but you can also write the number of rows you want to view inside the bracket as:'df.head(21)' for the first 20 rows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examine your dataset
&lt;/h2&gt;

&lt;p&gt;This is the step I see people skip and it always costs them later.Before you clean or filter or do anything to the data,just look at it.Get a feel for what's in there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy6jsnatopximcey6rhv6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy6jsnatopximcey6rhv6.png" alt=" " width="800" height="142"&gt;&lt;/a&gt;&lt;br&gt;
df.describe() gives you the numeric summary - count,mean,standard deviation,min,max and the quartiles.Throw a .T(transpose) on the end so it's readable when you've got a lot of columns&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3z53b65tu82ti4wp5r8h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3z53b65tu82ti4wp5r8h.png" alt=" " width="799" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The missing values and Duplicates
&lt;/h2&gt;

&lt;p&gt;Every dataset I've ever worked with has had gaps somewhere.It's basically a guarantee.The real question is what to do about it and honestly,that depends entirely on how much is missing.Also checking on the duplicates.My data for example has none&lt;br&gt;
Datasets pick up duplicate rows more often than you'd think - a form gets submitted twice,two sources get merged that kind of thing.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fstkbpgmmk2e0aiaikdmr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fstkbpgmmk2e0aiaikdmr.png" alt=" " width="800" height="320"&gt;&lt;/a&gt;&lt;br&gt;
I usually go by something like this:&lt;br&gt;
if nulls are 0–5%,Drop those rows or fill with mean/median/mode&lt;br&gt;
if nulls are 5–40%,ill with mean/median/mode&lt;br&gt;
Above 40%,honestly,think about dropping the whole column&lt;br&gt;
Here's the intuition behind the thresholds,because the numbers alone don't explain much,if a column's only missing 3% of its values,filling those gaps with the mean barely moves the needle on the overall picture.But if 60% of a column is empty and you fill it all with one number,you're not really "filling in gaps" anymore - you're mostly just making the column up.At that point it's usually more honest to drop it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Picking Rows and Columns
&lt;/h2&gt;

&lt;p&gt;loc and iloc confuse almost everyone at first,here's the short version.loc cares about the row's label - whatever the index actually says,even if that's a number,a name or a date.iloc only cares about position - 1st,2nd,3rd row - no matter what the index looks like underneath.Once that distinction clicks,the two stop being confusing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fumggalctq8cl9z7ntce9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fumggalctq8cl9z7ntce9.png" alt=" " width="800" height="131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Filtering
&lt;/h2&gt;

&lt;p&gt;Just like excel,SQL and Bi,filtering remains the same.In Python,equals to(=)is written using 2 sighs(==).Not is written as != just like SQL.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbhrzt5gloricny53o7rx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbhrzt5gloricny53o7rx.png" alt=" " width="800" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tip: always wrap each condition in its own parentheses.&amp;amp; binds tighter than |,so skipping the parentheses can quietly give you the wrong answer.
&lt;/h3&gt;

&lt;h2&gt;
  
  
  New Columns &amp;amp; Renaming
&lt;/h2&gt;

&lt;p&gt;Most new columns you'll create are just simple math on columns you already have,like converting currency or units.When the logic is more than basic arithmetic,apply() with a lambda or np.where() will usually get the job done.Renaming columns is even simpler - just a dictionary mapping old names to new ones.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feoi77ifnqofeigrxr5mg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feoi77ifnqofeigrxr5mg.png" alt=" " width="795" height="68"&gt;&lt;/a&gt;&lt;br&gt;
Renaming is just a dictionary of old name to new name:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0495tt7u0cym0cbim90y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0495tt7u0cym0cbim90y.png" alt=" " width="796" height="58"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sorting
&lt;/h2&gt;

&lt;p&gt;Sorting is either ascending or descending&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0snepm7i4bvthsdqx7hg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0snepm7i4bvthsdqx7hg.png" alt=" " width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Grouping(Where Pandas Really Starts Paying Off)
&lt;/h2&gt;

&lt;p&gt;This is the part that,once it clicks it changes how you think about data entirely. groupby answers "what does this look like per category" without you writing a single loop.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft634w9o5qm6shd2a4e7c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft634w9o5qm6shd2a4e7c.png" alt=" " width="800" height="615"&gt;&lt;/a&gt;&lt;br&gt;
If all you want is "how often does each value show up," value_counts() is the shortcut — quicker to type than a full groupby:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fojnepj28vfr8cjr8estu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fojnepj28vfr8cjr8estu.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
Once groupby feels natural,it's worth digging into pivot tables too (pd.pivot_table()).They scratch a similar itch but let you summarize across two dimensions at once - rows and columns - which is great for something like "average rent by estate,broken down further by property type," all in a single table.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cleaning Up Text
&lt;/h2&gt;

&lt;p&gt;Real-world text data is messy almost by default - inconsistent capitalization,stray spaces the occasional typo.The .str accessor handles most of the cleanup.Below is a simple syntax:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F41hmjt729ukgxufb6t0g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F41hmjt729ukgxufb6t0g.png" alt=" " width="706" height="131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating visuals
&lt;/h2&gt;

&lt;p&gt;For me this is the fun pard as a data analyst.&lt;br&gt;
Tables only get you so far.There's a point where a chart shows you something - a trend,a weird outlier,a relationship that you'd never notice scrolling through rows of numbers.That's where matplotlib and seaborn come in.&lt;br&gt;
Matplotlib is the engine underneath everything&lt;br&gt;
seaborn sits on top and just makes the defaults look a lot better with a lot less effort.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4sznc5nfaisircvz78rx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4sznc5nfaisircvz78rx.png" alt=" " width="479" height="71"&gt;&lt;/a&gt;&lt;br&gt;
You start by importing them first&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Count Plots - how many of each thing do we have?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6shp36eezh109btxe2hw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6shp36eezh109btxe2hw.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Bar Plots - comparing an average across groups
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1nm28v919zwj0atytn1r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1nm28v919zwj0atytn1r.png" alt=" " width="800" height="391"&gt;&lt;/a&gt;&lt;br&gt;
You don't have to let seaborn do the aggregating for you, sometimes it's nicer to groupby first and plot the result,especially if you want the bars sorted by value instead of alphabetically:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fza0x5jugagqov6or7t2m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fza0x5jugagqov6or7t2m.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Histograms - what does the spread of a number actually look like?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9vgbok9k868240mwg2gc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9vgbok9k868240mwg2gc.png" alt=" " width="799" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Box Plots - median,spread and outliers in one shape
&lt;/h3&gt;

&lt;p&gt;The box itself covers the middle 50% of your data (25th to 75th percentile),the line inside is the median and the whiskers stretch out to about 1.5× that range.Anything past the whiskers shows up as its own little dot - that's your outlier.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsr1pnlobjktsnsd1gni7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsr1pnlobjktsnsd1gni7.png" alt=" " width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5.Scatter Plots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2gu0k9bl8l09x879h30s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2gu0k9bl8l09x879h30s.png" alt=" " width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6.Line Plots - trends usually over time
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjinxssi2gnghlpp5tiit.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjinxssi2gnghlpp5tiit.png" alt=" " width="800" height="483"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7.Pie Charts - proportions
&lt;/h3&gt;

&lt;p&gt;Funny enough,seaborn doesn't actually have a pie chart function - for this one,you drop back down to plain matplotlib:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcpv2z5465mga7r1kmcyx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcpv2z5465mga7r1kmcyx.png" alt=" " width="799" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Pandas plus matplotlib and seaborn cover most of what you actually need to explore a dataset: load it in,get a feel for it,fix what's broken,slice it however your question demands and then turn it into something you can actually look at and understand.None of the individual pieces are hard - the real skill,the thing that takes practice is knowing which tool fits the question in front of you.&lt;br&gt;
I hope you found this guide sefull.Ciao.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>analytics</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Git and GitHub concepts</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Fri, 29 May 2026 08:56:20 +0000</pubDate>
      <link>https://dev.to/jaysonjob/git-and-github-concepts-46mh</link>
      <guid>https://dev.to/jaysonjob/git-and-github-concepts-46mh</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I will be breaking down git and GitHub from beginner basics to a more advanced level in this article.I hope this structured approach will help you build a solid foundation moving forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  what is Git
&lt;/h2&gt;

&lt;p&gt;Git is a distributed version control system created by Linus Torvalds in 2005.It is designed to handle everything from small to very large projects with speed and efficiency.Unlike centralized version control systems,Git allows every user to have a complete copy of the repository,including its history on their local machine.This means you can work offline and still have access to the full project history.&lt;/p&gt;

&lt;p&gt;version control is a system that records changes to files over time so that you can recall specific versions later.&lt;br&gt;
It's essential for collaborative work,allowing multiple people to work on the same project without conflicts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instillation
&lt;/h2&gt;

&lt;p&gt;To start using Git,you need to install it on your computer.You can download Git from the official website git-scm.com. Installation is straightforward and available for various operating systems,including Windows,macOS and Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic configuration(letting git know you)
&lt;/h2&gt;

&lt;p&gt;Once Git is installed,you should configure it with your username and email.This information will be associated with your commits and help others identify who made specific changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrbioysr4425kaeh9gi8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrbioysr4425kaeh9gi8.png" alt=" " width="652" height="267"&gt;&lt;/a&gt;&lt;br&gt;
You can fill in you name and gmail using a syntax:&lt;br&gt;
git config --global user.name "Your Name"&lt;br&gt;
git config --global user.email "&lt;a href="mailto:your_email@example.com"&gt;your_email@example.com&lt;/a&gt;"&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating your first repository
&lt;/h2&gt;

&lt;p&gt;To create a new Git repository,navigate to your project directory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8822x3w3vd5o9wftz9nv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8822x3w3vd5o9wftz9nv.png" alt=" " width="724" height="149"&gt;&lt;/a&gt;&lt;br&gt;
This command initializes a new Git repository,creating a hidden directory that stores all the version control information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic git commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.Checking the status
&lt;/h3&gt;

&lt;p&gt;To see the current status of your repository including staged and unstaged changes,use:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmd42m77fm9xjew59wsuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmd42m77fm9xjew59wsuo.png" alt=" " width="751" height="234"&gt;&lt;/a&gt;&lt;br&gt;
This command provides a snapshot of your working directory and staging area helping you understand what changes are ready to be committed.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Adding changes
&lt;/h3&gt;

&lt;p&gt;Before you can commit changes,you need to stage them.You can stage individual files or all changes at once.Below is the basic syntax you can follow.You can add any file you want from your file explorer&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgw64mbwrnhc0mkjgfjoe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgw64mbwrnhc0mkjgfjoe.png" alt=" " width="746" height="77"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.committing changes
&lt;/h3&gt;

&lt;p&gt;Once your changes are staged,you can commit them to the repository.Each commit should have a descriptive message explaining what changes were made&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bd636s3uehm8am6kkwk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bd636s3uehm8am6kkwk.png" alt=" " width="628" height="72"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Branching and Merging
&lt;/h3&gt;

&lt;p&gt;Git encourages the use of branches,allowing you to work on new features or fixes in isolation without affecting the main codebase.Once your work is complete,you can merge it back into the main branch.&lt;/p&gt;

&lt;h4&gt;
  
  
  a.Creating a branch
&lt;/h4&gt;

&lt;p&gt;Branches allow you to work on different features or fixes without affecting the main codebase.To create a new branch,use the git branch and write the branch name&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwcx7kqms8adfm8t2cfy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwcx7kqms8adfm8t2cfy.png" alt=" " width="663" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  b.Switching branches
&lt;/h4&gt;

&lt;p&gt;Switching to a new branch you use the git checkout.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99l7j254d5z4eopdcocl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99l7j254d5z4eopdcocl.png" alt=" " width="720" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5.Merging branches
&lt;/h3&gt;

&lt;p&gt;Once you’ve completed work on a branch,you can merge it back into the main branch (often called main or master)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsncyk1o8j3vaevg0lmec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsncyk1o8j3vaevg0lmec.png" alt=" " width="800" height="75"&gt;&lt;/a&gt;&lt;br&gt;
If there are conflicts (changes that cannot be automatically merged),Git will prompt you to resolve them manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remote Repositories with GitHub
&lt;/h2&gt;

&lt;h3&gt;
  
  
  what is GitHub?
&lt;/h3&gt;

&lt;p&gt;GitHub is a web-based platform that uses Git for version control. It provides a user-friendly interface for managing Git repositories and facilitates collaboration among developers. GitHub allows you to host your code online,making it accessible to others and enabling collaborative work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating a GitHub account
&lt;/h3&gt;

&lt;p&gt;To use GitHub,you need to create an account at gitHub.com.Once registered,you can create repositories,contribute to others' projects and manage your own code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connecting Your Local Repository to GitHub
&lt;/h3&gt;

&lt;p&gt;To push your local repository to GitHub,you first need to create a new repository on GitHub.After that,link your local repository to the remote one&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmk3iy2pb0mlss9pap8yt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmk3iy2pb0mlss9pap8yt.png" alt=" " width="739" height="66"&gt;&lt;/a&gt;&lt;br&gt;
This command sets up a connection to the remote repository,allowing you to push and pull changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pushing and Pulling changes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.pushing changes
&lt;/h3&gt;

&lt;p&gt;To upload your local commits to GitHub,use the git push and writing the branch name as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0y2na94i3m4zuhtry5b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0y2na94i3m4zuhtry5b.png" alt=" " width="793" height="69"&gt;&lt;/a&gt;&lt;br&gt;
This command sends your changes to the remote repository and making them available to others.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Pulling changes
&lt;/h3&gt;

&lt;p&gt;To fetch and merge changes from the remote repository into your local branch,use the git pull as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81iw133fnidmfobfpquz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81iw133fnidmfobfpquz.png" alt=" " width="762" height="63"&gt;&lt;/a&gt;&lt;br&gt;
This command ensures your local repository is up to date with the latest changes made by others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advanced Git concepts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.Rebasing
&lt;/h3&gt;

&lt;p&gt;Rebasing is a powerful feature that allows you to integrate changes from one branch into another.It rewrites the commit history and making it linear and cleaner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwefwnzlg57b14yq7yatr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwefwnzlg57b14yq7yatr.png" alt=" " width="607" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Stashing
&lt;/h3&gt;

&lt;p&gt;If you need to switch branches but aren’t ready to commit your changes,you can stash them temporarily.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ni7ugkhtj8kx6uakfcq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ni7ugkhtj8kx6uakfcq.png" alt=" " width="628" height="53"&gt;&lt;/a&gt;&lt;br&gt;
You can also apply the stashed changes back to your working directory by adding apply command:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwmv8meqxw0tmzx2dtkg8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwmv8meqxw0tmzx2dtkg8.png" alt=" " width="682" height="56"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Resolving merge conflicts
&lt;/h2&gt;

&lt;p&gt;When merging branches,conflicts may arise if changes overlap.Git will mark these conflicts in the affected files.You’ll need to manually resolve them by editing the files then staging and committing the resolved changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Collaborating on GitHub
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.Forking Repositories
&lt;/h3&gt;

&lt;p&gt;Forking allows you to create a personal copy of someone else's repository.This is useful for making changes without affecting the original project.You can fork a repository directly from GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Pull request
&lt;/h3&gt;

&lt;p&gt;Once you’ve made changes in your forked repository,you can propose these changes to the original repository by creating a pull request.This allows the original repository owner to review your changes and merge them if they approve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best practices for using Git and GitHub
&lt;/h2&gt;

&lt;p&gt;1.Commit Often:Make small,frequent commits with clear messages.This makes it easier to track changes and understand the project history.&lt;/p&gt;

&lt;p&gt;2.Use Branches:Keep your main branch clean by using branches for new features or bug fixes.This helps isolate changes and reduces the risk of introducing bugs.&lt;/p&gt;

&lt;p&gt;3.Write Good Commit Messages:Clearly describe what changes were made and why.Good commit messages help others (and your future self) understand the project’s history.&lt;/p&gt;

&lt;h2&gt;
  
  
  Online courses
&lt;/h2&gt;

&lt;p&gt;Platforms like Coursera,Udemy and freeCodeCamp offer comprehensive courses on Git and GitHub.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;By following this detailed guide,you can build a strong foundation in Git and GitHub,progressing from a beginner to an expert level.Start with the basics,practice regularly and explore advanced features as you become more comfortable.This knowledge will not only enhance your coding skills but also improve your ability to collaborate effectively in team environments.I hope you found it useful.Ciao.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>github</category>
      <category>git</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Full Sales Data Analysis: From Raw Data to Interactive Business Dashboard</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Fri, 15 May 2026 12:34:48 +0000</pubDate>
      <link>https://dev.to/jaysonjob/full-sales-data-analysis-from-raw-data-to-interactive-business-dashboard-45la</link>
      <guid>https://dev.to/jaysonjob/full-sales-data-analysis-from-raw-data-to-interactive-business-dashboard-45la</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Anybody can be a data analyst,but what separates a good data analyst from a great one is what you can do and present.In this article i will be giving step by step guidelines from turning a raw data to an interactive business dashboards and giving insights.We will generate our sales data from Mockaroo,use Python to turn the JSON file to CSV,analyse with Sql and visualize with Power Bi.&lt;/p&gt;

&lt;h2&gt;
  
  
  1.Generating the sales data.
&lt;/h2&gt;

&lt;p&gt;You will go to your browser and search Mockaroo.com.Once open,hit the generate data button and give AI a command to generate the data for you.You can select the number of rows that you want your data to have.Once its done,save the data as a json file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn07jaspo8ybkvi7nvy7i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn07jaspo8ybkvi7nvy7i.png" alt=" " width="799" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  a.Viewing the data
&lt;/h3&gt;

&lt;p&gt;Once your data is generated and saved in your files in your machine,go to your Github account and add that file to your repo.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7w5lqw6p7czm8p0dmls1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7w5lqw6p7czm8p0dmls1.png" alt=" " width="800" height="314"&gt;&lt;/a&gt;&lt;br&gt;
Once you open that file,hit the raw button and you will see something like this:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fep9ymur5pcci2cqo0hdl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fep9ymur5pcci2cqo0hdl.png" alt=" " width="628" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2.Importing using Python.
&lt;/h2&gt;

&lt;p&gt;The work is not yet done.Copy the link from your raw data in github because we shall need it.Use the import requests and the url will be your link you copied from raw data in github.While pasting the url,ensure it has the either the double or single quotes at the start and at the end of the url link.The status code must always be 200.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcnbtbzvntn1a6i9y4o8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcnbtbzvntn1a6i9y4o8i.png" alt=" " width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next step will be seeing the type of data that we have,either a list or dictionary.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4aer1n8ky85m1txtg4m5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4aer1n8ky85m1txtg4m5.png" alt=" " width="800" height="381"&gt;&lt;/a&gt;&lt;br&gt;
We have created a data frame,viewed the first rows and saved the the data as csv.&lt;br&gt;
You should be seing the sales data as an excel file in your files ready for analyzing.&lt;/p&gt;

&lt;h2&gt;
  
  
  SQL analysis
&lt;/h2&gt;

&lt;p&gt;Since we already have our data as CSV,we will import it in any sql environment you use.I will be using DBeaver.First you create a schema called sales_data or any name of your choice,then creating the sales table.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.creating the table
&lt;/h3&gt;

&lt;p&gt;You create a schema called sales_data or any name of your choice,then creating the sales table.Every column name will be kept as texts.Why,to avoid data type errors during import and to handle missing values,weird formats or nulls with ease.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayerdlg4gbnavbvh54th.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayerdlg4gbnavbvh54th.png" alt=" " width="612" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Importing the data to SQL environment
&lt;/h3&gt;

&lt;p&gt;first,you go to your schema,refresh and search for your table name.Right click it and hit the import data button.Import the csv then press next,hit the browse button to select which file exactly that you want,then press next till you proceed to the next part.After importing the data,hit the refresh button on the table name below your schema to ensure the data is set.You can now write a query to see your data&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo06nli0w3zjpu5kvl5cq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo06nli0w3zjpu5kvl5cq.png" alt=" " width="800" height="877"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  b.cleaning the data
&lt;/h2&gt;

&lt;p&gt;This is where most data analyst spend most of their time.With reference to my sales data,it's not so messy only few mistakes like fixing the total_price column.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.fixing the total_price column
&lt;/h3&gt;

&lt;p&gt;As i imported my data,the column total_price was full of error &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvty0jx4rus4es7c91t2x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvty0jx4rus4es7c91t2x.png" alt=" " width="799" height="339"&gt;&lt;/a&gt;&lt;br&gt;
I will fix it by step by step as shown below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ov29v7zu6mstvt29q8e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ov29v7zu6mstvt29q8e.png" alt=" " width="722" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This SQL command fixes the &lt;code&gt;total_price&lt;/code&gt; column by converting the text-based &lt;code&gt;quantity&lt;/code&gt; values to integers using &lt;code&gt;::INTEGER&lt;/code&gt;,then multiplying each by a flat rate of $19.99.The &lt;code&gt;WHERE&lt;/code&gt; clause targets only rows where &lt;code&gt;total_price&lt;/code&gt; still contains the error message,leaving already-corrected rows untouched.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Trimming,capitalizing and removing special characters
&lt;/h3&gt;

&lt;p&gt;Triming in SQL eliminates spaces before and after any word.Initcap is a special command that allows you to standardise the letters of words inside your columns.This is a similar command to 'proper' as used in My SQL and other SQL environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm27t0o8ug7c8uht39g9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm27t0o8ug7c8uht39g9i.png" alt=" " width="800" height="651"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that our data is clean,we proceed to the next step which is answering business questions.Our data was not so messy so we used little times as possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  c.Re-creating the clean table.
&lt;/h2&gt;

&lt;p&gt;Since our data was stored as texts format,before analysis we should ensure everything is in its correct format as we did in cleaning.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kd110fl7pkf0js092ml.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kd110fl7pkf0js092ml.png" alt=" " width="799" height="484"&gt;&lt;/a&gt;&lt;br&gt;
Some of our columns are not in their corect format.We can change them manually by writing a simple query by altering the table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feq64nu1m18x4rhcbyy8l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feq64nu1m18x4rhcbyy8l.png" alt=" " width="800" height="653"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  d.Answering business questions
&lt;/h2&gt;

&lt;p&gt;This part is so important since we shall use it in visualization.Answering business questions like:sales performance,product analysis,customer insights and operational questions&lt;br&gt;
1.Finding top 10 sales rep&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8yh8t9zqe30u2m1ix3sj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8yh8t9zqe30u2m1ix3sj.png" alt=" " width="689" height="292"&gt;&lt;/a&gt;&lt;br&gt;
2.finding which method of payments produces more revenue&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qnf8g954o22qcla6epc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qnf8g954o22qcla6epc.png" alt=" " width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can answer a lot of business questions as possible.I shall leave a link to my github for you to go through the business questions and answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating views
&lt;/h2&gt;

&lt;p&gt;Views in SQL simplifies your work as a HR or a CEO since you don't have to go through every long queries.We shall also be using the views created in Power BI in creating visuals.We will be creating payment method analysis view,products perfromance views,sales perfomance analysis view and sales summary analysis view as our facttable.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphu2r9bdh6gahg0wj5zt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphu2r9bdh6gahg0wj5zt.png" alt=" " width="800" height="585"&gt;&lt;/a&gt;&lt;br&gt;
The query worked well and now we have the sales view.&lt;br&gt;
We have also created the sales rep perfomance view successfully.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5b4dsgisqls3h0aeczsk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5b4dsgisqls3h0aeczsk.png" alt=" " width="778" height="749"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The product perfomance views is also created successfully:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf03hll6532r5plzng7g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf03hll6532r5plzng7g.png" alt=" " width="800" height="666"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A payment method analysis view is also important we should have it as one of our views created:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frn9e4pk7juu9debsqrr4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frn9e4pk7juu9debsqrr4.png" alt=" " width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly,we must track down our customers so i created another view called customer analysis view and was succesfull&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9st0he00b6o0ikn2oj6i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9st0he00b6o0ikn2oj6i.png" alt=" " width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3Linking our sql environment to Power BI
&lt;/h2&gt;

&lt;p&gt;since we have our views created,we shall be using them in Power BI.&lt;br&gt;
1.Open Power BI and tap the home page,hit the import data from sql server then fill the required item:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd15fu17iq840ucyqos7a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd15fu17iq840ucyqos7a.png" alt=" " width="800" height="438"&gt;&lt;/a&gt;&lt;br&gt;
2.Once you have already linked,select only the views we created in sql earlier as in our case.It will appear as shown:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdew78cafbo55hybtle0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdew78cafbo55hybtle0.png" alt=" " width="335" height="501"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4.Creating relationships.
&lt;/h2&gt;

&lt;p&gt;Since we have 5 different mini-tables,we will create one called a fact table that will have a link to all the other tables.We will add a new column in each of the 5 different table called 'ID' column in relation with the name example 'product_id,sales_id'.After adding the new columns,we copy and paste them inside the fact table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65e8sa27tl2ybul3nkh2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65e8sa27tl2ybul3nkh2.png" alt=" " width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After adding the new column having the ID,we will merge queries them together to the fact table.Joining the common columns.&lt;/p&gt;

&lt;h3&gt;
  
  
  NOTE:You only select the common column(left outer join).
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdczkw519xhfkccpt6ftv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdczkw519xhfkccpt6ftv.png" alt=" " width="800" height="776"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5.Creating dashboards
&lt;/h2&gt;

&lt;p&gt;Once you have all the relationships,you can present your data in the forms of charts or any visual of choice.&lt;br&gt;
This below is one of the examples i came up with:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0tff766hf1i9nkx156y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0tff766hf1i9nkx156y.png" alt=" " width="800" height="527"&gt;&lt;/a&gt;&lt;br&gt;
You can have up to 5 maximum pages of different charts &lt;/p&gt;

&lt;h2&gt;
  
  
  6.Report and Insights
&lt;/h2&gt;

&lt;p&gt;Open a new page called report and insights and select a text box since we shall be using texts a lot more than charts.&lt;br&gt;
You can create a page called recommendation,executive report and so on.This can be presented to your boss with ease:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zrr7rnnzbcvm13xky6a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zrr7rnnzbcvm13xky6a.png" alt=" " width="799" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;That one right there is a full data analyst project we did.We used tools like Python to import the data,SQL for analysis and creating visuals using Power BI.You can add it to your portfolio as one of the Projects and can help you land a job with ease since you have proof.&lt;br&gt;
You can check more analysis i made using SQL :&lt;a href="https://github.com/JaysonJob/full-sales-data-analysis/blob/main/Script-35.sql" rel="noopener noreferrer"&gt;https://github.com/JaysonJob/full-sales-data-analysis/blob/main/Script-35.sql&lt;/a&gt;&lt;br&gt;
I hope you found this article useful.Ciao&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>postgres</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Python used in Data Analytics</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Sat, 09 May 2026 14:20:04 +0000</pubDate>
      <link>https://dev.to/jaysonjob/python-used-in-data-analytics-31c</link>
      <guid>https://dev.to/jaysonjob/python-used-in-data-analytics-31c</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Python is simply a high-level programming language used in data analytics,web development,automation,AI and so many more fields.&lt;br&gt;
It was created by Guido van Rossum and released in 1991.&lt;br&gt;
I will walk you through how it's used in Data Analytics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is python popular in data analytics
&lt;/h2&gt;

&lt;p&gt;Python consistently ranks among the world’s most popular programming languages because it balances simplicity,power and flexibility which is often rare in programming languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Python looks simple and easy to read
&lt;/h3&gt;

&lt;p&gt;Compared to other programming languages like Java or C++,Python code is much simple and usually takes fewer lines.It makes it easier for beginners to learn.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxs2rk7njwqhl5mg6bwhb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxs2rk7njwqhl5mg6bwhb.png" alt=" " width="329" height="100"&gt;&lt;/a&gt;&lt;br&gt;
unlike java:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fag7vsycg4hhz06dk442g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fag7vsycg4hhz06dk442g.png" alt=" " width="725" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Used in data analytics
&lt;/h3&gt;

&lt;p&gt;You can calculate the average of sales or anything by writing a simple piece of code:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhds85juoj94lmn1y342c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhds85juoj94lmn1y342c.png" alt=" " width="608" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.It has plenty of libraries
&lt;/h3&gt;

&lt;p&gt;A good example is the 'Pandas'.It lets you load a spreadsheet(or CSV file) and start exploring it immediately.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy7qf1q5y2a1w9wkae37.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy7qf1q5y2a1w9wkae37.png" alt=" " width="516" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Productivity
&lt;/h3&gt;

&lt;p&gt;Despite being slower than other languages,Python tends to be more productive since it only needa a few lines of code and as a developer,you can build a project much faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python libraries used in data analytics
&lt;/h2&gt;

&lt;p&gt;These are basically the tools you'll use.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Pandas
&lt;/h3&gt;

&lt;p&gt;Pandas lets you load a spreadsheet (or CSV file) and start exploring it immediately.It is also so powerful since it helps you clean,organize,filter and analyze data with very little code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn66zo8col0fvpclm2afg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn66zo8col0fvpclm2afg.png" alt=" " width="451" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is widely used by data analysts and data scientists to work with tables and large datasets efficiently.Learning Pandas is one of the most important steps in becoming comfortable with data analytics using Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Numpy
&lt;/h3&gt;

&lt;p&gt;Numpy handles mathematical operations.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2t9uxzkxapw7k7ip6h9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2t9uxzkxapw7k7ip6h9.png" alt=" " width="515" height="184"&gt;&lt;/a&gt;&lt;br&gt;
In the above photo,i calculated the mean in less than a minute.It's incredibly useful when you're crunching hundreds of values.You can also calculate the median,standard deviation without writing loops.Another reason why analysts love it.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Matplotlib and Seaborn
&lt;/h3&gt;

&lt;p&gt;These are the best for visualization in Python that turn your data into charts.Matplotlib is the foundation and Seaborn sits on top of it and organizes things in a nicer way with less effort.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhceq8vqk3du2veimg7a4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhceq8vqk3du2veimg7a4.png" alt=" " width="799" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A chart is worth a thousand numbers.These libraries turn your boring tables into something you can actually see and understand.&lt;br&gt;
1.Bar charts for comparisons - plt.bar(['A','B','C'], [10,25,15]) shows which category wins.&lt;br&gt;
2.Histograms for distributions - plt.hist(ages) reveals if your customers are mostly young or old.&lt;br&gt;
3.Seaborn makes everything prettier - sns.barplot(data=df, x='city', y='sales') gives you professional colors and cleaner layouts without fiddling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using python in data cleaning,analyzing and visualizing
&lt;/h2&gt;

&lt;p&gt;When you're working as a data analyst(or even just exploring data for fun),you'll follow the same  process almost every time:&lt;br&gt;
Clean the data,analyze the data then visualize the data&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Data cleaning
&lt;/h3&gt;

&lt;p&gt;The raw data is always full of messy stuff like duplicates,wrong capitalizaion,empty cells,wrong data types and many more.It is your job to clean it.So python allows you to clean it in a much easier way&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxypgq2osfz1ff490kynv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxypgq2osfz1ff490kynv.png" alt=" " width="692" height="329"&gt;&lt;/a&gt;&lt;br&gt;
By running that,you can save a lot of time that you could have spent in excel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb3o2v71qh6nw9433pjtr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb3o2v71qh6nw9433pjtr.png" alt=" " width="658" height="274"&gt;&lt;/a&gt;&lt;br&gt;
I also love python since you can save the code and still run it months later.In simple terms,i mean Excel forces you to repeat the same clicks every time.Python remembers.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Analyzing the data
&lt;/h3&gt;

&lt;p&gt;once your data is clean,you can now solve every question you want.Python gives you answers fast and the more specific your questions,the more useful the answers become.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdll0o9eiviipbdkuhlvm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdll0o9eiviipbdkuhlvm.png" alt=" " width="800" height="261"&gt;&lt;/a&gt;&lt;br&gt;
You don't need to memorize all these.Just know they exist.Knowing you can answer almost anything in seconds is what makes Python fun.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Creating visuals
&lt;/h3&gt;

&lt;p&gt;Numbers in a table are hard to understand and confusing especially thousands of rows.Charts make things click immediately.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6p8d6fvd5n1vp5wh242k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6p8d6fvd5n1vp5wh242k.png" alt=" " width="799" height="630"&gt;&lt;/a&gt;&lt;br&gt;
That creates a bar chart showing which regions are selling the most.When you bring a chart like that into a meeting,people get it way faster than if you'd read the numbers aloud.&lt;br&gt;
You can create more than a bar graph:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvejawx1ark3ieoh3tdgn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvejawx1ark3ieoh3tdgn.png" alt=" " width="583" height="293"&gt;&lt;/a&gt;&lt;br&gt;
fun fact:Most people in meetings don't care about your math.They care about what they can see.A clean chart does the talking for you. You just point and say"Look at this."&lt;br&gt;
Once you write the code for a chart,you can reuse it on next month's data with zero extra work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-world examples of python in Data Analytics
&lt;/h2&gt;

&lt;p&gt;Apart from the theory part,Python is used behind the scenes in running almost every industry it the day-to-day life&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Healthcare
&lt;/h3&gt;

&lt;p&gt;Medical institutions used Python to help save lives.How?During the Covid-19 pandemic,Python helped researchers model how the virus spreads and which interventions worked best.Running on laptops,shaping public health decisions in real time.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Industries like Youtube and Netflix
&lt;/h3&gt;

&lt;p&gt;Youtube suggests videos based on what you watch often.It's not by magic.That's Python.Without Python,you'd need a lot of humans picking videos for you manually.So how is it done?Python tracks how long you watch each video,It compares your patterns to millions of other users.Those "Up next" suggestions then Calculated in milliseconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. E-commerce
&lt;/h3&gt;

&lt;p&gt;A good example it those online stores.&lt;br&gt;
Recommendations-"People who bought this also bought that" is pure Python work.&lt;br&gt;
The Dynamic pricing:Python changes prices in real time.When it's raining,umbrella prices go up.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Banking and fraud detection
&lt;/h3&gt;

&lt;p&gt;When your bank notices a suspicious transaction or sends you an alert at 2 am,chances are Python caught it before you even noticed something was wrong.Python builds a "normal behavior profile" for your account by learning your spending habits like buying coffee at 8 AM,paying rent on the 1st,and never spending more than&lt;/p&gt;

&lt;h2&gt;
  
  
  Why You Should Start Learning Python
&lt;/h2&gt;

&lt;p&gt;I will be honest with you,if you are curious about working with data,whether large or small,you should start learning Python as soop as possible.According to me,it's one of the best investments of time.Pythons is so simple and beginner-friendly and you can get so many sites that can teach you more about python.&lt;br&gt;
It is also a high skill in demand.You can land to any job easily and set a career path.&lt;br&gt;
You can also build real things quickly.You can load an excel file,clean it and create dashboards in a few minutes.YOU can even analyze your Spotify history.&lt;br&gt;
So go ahead and Open your jupyter notebook,Write "Hello." Load a file,make a mess,break things and fix them.That's the whole journey.&lt;/p&gt;

&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;You don't need to be a "math person" or a "tech person" to learn Python for data analytics.Just be curious.Most data work is loading a file,cleaning the messy parts,making a few charts and telling someone what you found.This article has explained how you do it.&lt;/p&gt;

</description>
      <category>python</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Introduction to Python</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Fri, 08 May 2026 10:16:38 +0000</pubDate>
      <link>https://dev.to/jaysonjob/introduction-to-python-4gbc</link>
      <guid>https://dev.to/jaysonjob/introduction-to-python-4gbc</guid>
      <description>&lt;p&gt;The word “Python” might sound technical and complicated at first and many beginners assume that it will be difficult.I actually almost fell for that trap.Python was actually designed to be beginner-friendly.In fact,Python is widely considered one of the easiest programming languages because of its readable syntax.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Python
&lt;/h2&gt;

&lt;p&gt;Python is a high-level programming language used in data analytics,web development,automation,AI and so many more fields.&lt;br&gt;
It was created by Guido van Rossum and released in 1991.It was named after the British comedy show 'Monty Python's Flying Circus',not after the snake.He explained that he wanted something short,unique and slightly mysterious&lt;/p&gt;

&lt;h2&gt;
  
  
  Instillation
&lt;/h2&gt;

&lt;p&gt;I will be giving steps in setting up a jupyter notebook.&lt;br&gt;
Anaconda is an open source distribution of Python and R products so within anaconda is our jupyter notebook as well as a lot of other things but our point of interest is the jupyter notebook.&lt;/p&gt;

&lt;h3&gt;
  
  
  step 1
&lt;/h3&gt;

&lt;p&gt;You will go to your browser and search'anaconda.com'(&lt;a href="https://www.anaconda.com/" rel="noopener noreferrer"&gt;https://www.anaconda.com/&lt;/a&gt;) and hit the download option.You will select your device either windows,MacBook or linux.&lt;/p&gt;

&lt;h3&gt;
  
  
  step 2
&lt;/h3&gt;

&lt;p&gt;Once the file is downloaded read the terms and conditions and any necessary information that pops up.&lt;/p&gt;

&lt;h3&gt;
  
  
  step 3
&lt;/h3&gt;

&lt;p&gt;Select the instillation type either just for me(recommended) or all users(requires admin privileges)&lt;br&gt;
It will then show you where its being installed in in your computer as an actual file path.&lt;/p&gt;

&lt;h3&gt;
  
  
  step 4
&lt;/h3&gt;

&lt;p&gt;Click the windows key on your keyboard and you will see the anaconda navigator(app).You will then see all the distribution and R where are stored like the visual studio code,spyder,Rstudio and the jupyter notebook.&lt;/p&gt;

&lt;h3&gt;
  
  
  step 5
&lt;/h3&gt;

&lt;p&gt;Since we want the jupyter notebook,click the launch button jupyter notebook.You'll be using that to save folders and organize your notebooks if you have previous projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  step 6
&lt;/h3&gt;

&lt;p&gt;Click the 'New'button,that will open up python 3 kernel.That is where you'll be writing all your codes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing your first code
&lt;/h2&gt;

&lt;p&gt;Almost every programmer starts with a simple program called 'hello world'.It's actualy a culture by now.You can use either single or double quotes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe1njpyi7vj9lrvr3ma30.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe1njpyi7vj9lrvr3ma30.png" alt=" " width="303" height="98"&gt;&lt;/a&gt;&lt;br&gt;
The 'print'command displays the output of your code.You can write anything and use the command to display it as below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx5pxrqvo2qf2dk8zi8d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx5pxrqvo2qf2dk8zi8d.png" alt=" " width="668" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of data in Python
&lt;/h2&gt;

&lt;p&gt;Different type of information is stored differently in python&lt;/p&gt;

&lt;h3&gt;
  
  
  1.string(str)
&lt;/h3&gt;

&lt;p&gt;This stores words,characters or sentences.It is displayed using double or single quotes at the beginning and the end of that string.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbaq1272v46q379dd3u3z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbaq1272v46q379dd3u3z.png" alt=" " width="356" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Integer(int)
&lt;/h3&gt;

&lt;p&gt;These are numbers.You don't use any quotes while defining an integer.These are also numbers without any decimal points.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvkkibnvrlmac1d7ws4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvkkibnvrlmac1d7ws4g.png" alt=" " width="222" height="64"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Float
&lt;/h3&gt;

&lt;p&gt;These are integers but with a decimal point.You don't use any quotes again in defining a float&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj59tfavhwhta7kk8runh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj59tfavhwhta7kk8runh.png" alt=" " width="233" height="83"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Boolean
&lt;/h3&gt;

&lt;p&gt;This is used to define either true or false.Commonly used in conditions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10j4g1j08n0mzb6j0c2c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10j4g1j08n0mzb6j0c2c.png" alt=" " width="343" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5.List([])
&lt;/h3&gt;

&lt;p&gt;A list stores more than one item in one variable.It is defined using the square brackets []&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5e9dkq60el753kyixuz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5e9dkq60el753kyixuz.png" alt=" " width="428" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6.Dictionary({})
&lt;/h3&gt;

&lt;p&gt;This is used to store information using keys and values.All keys and values that are strings should have quotes before and after.Only the integers dont use quotes.When you want to highlight the keys just write 'dictionary.keys()' and values 'dictiorary.values()&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92uifcufxjedchsbfgie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92uifcufxjedchsbfgie.png" alt=" " width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  NOTE:A list[],you have privileges like you can add items,remove items and change items within the list. This privilege is limited in tuples().However,Tuples are quite faster and uses less memory than lists.
&lt;/h3&gt;

&lt;h2&gt;
  
  
  The PEP 8 rules in Python
&lt;/h2&gt;

&lt;p&gt;PEP 8 rules are crucial in Python because they promote readable, consistent code that multiple developers can easily understand, reducing bugs and speeding up maintenance.Following PEP 8 rules makes your code professional. &lt;br&gt;
   1.Use 4 spaces to keep code clean and readable.&lt;br&gt;
   2.Keep lines under 79 characters for easier reading and better structure.&lt;br&gt;
   3.Leave 2 blank lines between functions and classes for clear separation.&lt;br&gt;
   4.Place imports at the top of the file and group them logically &lt;br&gt;
   5.Use snake_case for variables/functions and CamelCase for classes to stay consistent.&lt;br&gt;
   6.Add spaces around operators and after commas for readability and cleaner code style.(a = b + c)&lt;br&gt;
   7.Write comments with # &lt;br&gt;
   8.Use triple quotes ' ' ' to describe what functions,classes, or modules.&lt;/p&gt;

&lt;h3&gt;
  
  
  conclusion
&lt;/h3&gt;

&lt;p&gt;Throughout this guide,we explored the basics of Python including data types,lists,tuples and PEP 8 rules.Python’s simple and readable syntax makes learning programming much easier for beginners.&lt;br&gt;
Python is actually easier than I thought when I first started learning it.With regular practice,anyone can slowly build confidence and improve their programming skills.&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>SQL joins Explained</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Thu, 16 Apr 2026 15:17:45 +0000</pubDate>
      <link>https://dev.to/jaysonjob/sql-joins-explained-317</link>
      <guid>https://dev.to/jaysonjob/sql-joins-explained-317</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;SQL JOINs are one of those concepts that seem simple in theory but confusing in practice.At first,SQL joins really confused me and didn't make any sense because i had the data i needed but in different tables.Putting them together actually felt harder than I thought.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Inner join
&lt;/h3&gt;

&lt;p&gt;This join returns only the rows that match in both tables that you want to join.&lt;br&gt;
The syntax is:select column&lt;br&gt;
              from t1&lt;br&gt;
            inner join t2&lt;br&gt;
            on t1.column=t2.column;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flt1d8g9b53acan6yvjpq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flt1d8g9b53acan6yvjpq.png" alt=" " width="396" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.left join
&lt;/h3&gt;

&lt;p&gt;LEFT JOIN returns all rows from the left table, plus any matching rows from the right.When there's no match,the result will be recorded as NULL.The order of the table in this join matters&lt;br&gt;
the syntax is:select column&lt;br&gt;
              from t1&lt;br&gt;
            left join t2&lt;br&gt;
           on t1.column=t2.column&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2y460ip1ua1heywfdtr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2y460ip1ua1heywfdtr.png" alt=" " width="502" height="107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Right join
&lt;/h3&gt;

&lt;p&gt;This is actually the opposite of the left join.It selects all rows from the right and matches them on the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1cm1wqtadxlr9cu7ebh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1cm1wqtadxlr9cu7ebh.png" alt=" " width="490" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.full outer join
&lt;/h3&gt;

&lt;p&gt;A Full outer join returns all rows from both tables.when it doesn't match, the missing side shows NULL.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu5a174ut4dmbpy5hkxoo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu5a174ut4dmbpy5hkxoo.png" alt=" " width="478" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5.self join
&lt;/h3&gt;

&lt;p&gt;This is simply a table joining itself.Often when rows reference other rows in the same table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdz5cn3lbg4a4jar0k6co.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdz5cn3lbg4a4jar0k6co.png" alt=" " width="447" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Note:Always remember to put the ON function after the join
&lt;/h4&gt;

&lt;h2&gt;
  
  
  Window functions and Group by function
&lt;/h2&gt;

&lt;p&gt;I once knew group by is a very powerful tool and could summarize my data in seconds and get results quickly until i came across the window functions and suddenly everything became a bit difficult.They almost did the same job but in a different way.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Group  by
&lt;/h3&gt;

&lt;p&gt;This command is used to combine rows into groups and return one result as per a group.You can group your results either by gender(female or male) or by age or any way you want your data to be presented.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh94taabta4j063uiwdjp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh94taabta4j063uiwdjp.png" alt=" " width="438" height="96"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Note:Do not include a where clause together with a group by function perhaps you can use a having clause to be more specific with your group by clause.
&lt;/h4&gt;

&lt;h3&gt;
  
  
  Window functions.
&lt;/h3&gt;

&lt;p&gt;Window functions allow you to perform calculations across a two or more rows without removing any rows&lt;/p&gt;

&lt;h4&gt;
  
  
  Note:a.PARTITION BY divides the data into groups using PARTITION BY and ORDER BY specifies the order of rows within each group using ORDER BY.
&lt;/h4&gt;

&lt;h4&gt;
  
  
  1.sum()
&lt;/h4&gt;

&lt;p&gt;In simple terms,the sum command creates a running total.Each row adds its value to the total so far.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcw77i56wp2f1vnc6u4dl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcw77i56wp2f1vnc6u4dl.png" alt=" " width="799" height="203"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2.avg()
&lt;/h4&gt;

&lt;p&gt;Calculates the average value within a window.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyo0w9jacdxeifz7njrg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyo0w9jacdxeifz7njrg5.png" alt=" " width="799" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3.Row_number()
&lt;/h4&gt;

&lt;p&gt;This asigns a sequential number to each row.Every row gets a unique value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqfv47z5s023xycjxhj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqfv47z5s023xycjxhj7.png" alt=" " width="645" height="177"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  4.Rank() and Dense rank()
&lt;/h4&gt;

&lt;p&gt;when two rows have the same value RANK() and DENSE_RANK() both gives the same rank but they differ in what comes next&lt;br&gt;
RANK() - It skips numbers after a tie , handles ties eg.1,2,3,3,5&lt;br&gt;
DENSE_RANK() - It does not skip.However,the next rank after two tied at 2 is 3 eg.1,2,3,3,4,5.It doesnt leaves gaps in ranking&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgotax5wfkzajvwfekh7e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgotax5wfkzajvwfekh7e.png" alt=" " width="800" height="215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Functions every beginner should know
&lt;/h2&gt;

&lt;p&gt;As a data analyst,you should go beyond just analyzing data and mastering basic commands like where function,group by and order by and so on.To become extraordinary,you need some powerful functions to help you analyze data with ease.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Lag()
&lt;/h3&gt;

&lt;p&gt;This lets you access data from the previous row without writing complex queries.It looks at the previous row's value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v9hnpy83c642clgdak3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v9hnpy83c642clgdak3.png" alt=" " width="800" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Lead()
&lt;/h3&gt;

&lt;p&gt;This is the opposite of the lag function.It looks at the next row's value&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffx9isme65b2kqsby58my.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffx9isme65b2kqsby58my.png" alt=" " width="800" height="157"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  NOTE:The Lag and Lead is perfect for making comparison over time either students performance in two exams or employees salary.
&lt;/h4&gt;

&lt;h3&gt;
  
  
  3.NTILE
&lt;/h3&gt;

&lt;p&gt;This divides rows into equal groups(buckets)&lt;br&gt;
It's useful for percentages,quartiles and even splitting students into perfomance bands according to their exams results.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b3dfem7sk31pogoaoki.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b3dfem7sk31pogoaoki.png" alt=" " width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It gives priority to the 1st groups.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.substring
&lt;/h3&gt;

&lt;p&gt;It selects the number of characters in a certain column.It helps in data cleaning and formating.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F660uz2uwmqdrldwpvh2a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F660uz2uwmqdrldwpvh2a.png" alt=" " width="800" height="129"&gt;&lt;/a&gt;&lt;br&gt;
It wll select only the first 3 letters.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.Date_part
&lt;/h3&gt;

&lt;p&gt;This functions extracts either the year,month or day from a date&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0i1w7cb8yihkel9lto11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0i1w7cb8yihkel9lto11.png" alt=" " width="766" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6.UNION
&lt;/h3&gt;

&lt;p&gt;Despite UNION not being a function,i feel every beginner should master it.&lt;br&gt;
It combines results from two queries and it also removes duplicates as a bonus.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fujvmr2prs225buot2e5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fujvmr2prs225buot2e5d.png" alt=" " width="575" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  common mistakes to avoid
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.running a delete or update statement
&lt;/h3&gt;

&lt;p&gt;Running the delete or update statement can wipe your table at a glance.Always specify the row you want to update or delete by introducing the where clause.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15oni7b06wcmq1nexw0g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15oni7b06wcmq1nexw0g.png" alt=" " width="380" height="64"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Having and where clause
&lt;/h3&gt;

&lt;p&gt;The where clause filters rows before the grouping happens.&lt;br&gt;
Having filters after the aggregations.&lt;br&gt;
Also,where clause does not go together with group by function.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F564hqb1ro7o1eay7r6mk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F564hqb1ro7o1eay7r6mk.png" alt=" " width="598" height="145"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Null values
&lt;/h3&gt;

&lt;p&gt;Null is not the same as 0(zero).&lt;br&gt;
Ignoring them leads to empty results.Always use IS NULL or IS NOT NULL.Don't use the =(equal) sign&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5tnqmows5zp0kpsk2qr9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5tnqmows5zp0kpsk2qr9.png" alt=" " width="396" height="61"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Joins
&lt;/h3&gt;

&lt;p&gt;When you run a join query,always include the word ON.This is where you want to join your table with common columns.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmvfy1luc2l9stpze0eyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmvfy1luc2l9stpze0eyg.png" alt=" " width="605" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;We all learn by making mistakes.Every wrong query,every error message and every unexpected result is part of the process.Fixing them is what sharpens your thinking.The goal isn’t to write perfect queries from the start but understanding the structure of the queries that give the right answer to the question.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>analytics</category>
    </item>
    <item>
      <title>What really is DDL and DML and their comparision</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Sun, 12 Apr 2026 17:23:34 +0000</pubDate>
      <link>https://dev.to/jaysonjob/what-really-is-ddl-and-dml-and-their-comparision-1g7k</link>
      <guid>https://dev.to/jaysonjob/what-really-is-ddl-and-dml-and-their-comparision-1g7k</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;About three weeks ago,I jumped into learning SQL.I thought it's all about writing queries and getting results by running them and thats all.Yes i had a point but when i went deeper in learning SQL,I realized there’s a clear split in how SQL actually works.DDL (Data Definition Language) and  DML (Data Manipulation Language).&lt;/p&gt;

&lt;h2&gt;
  
  
  DDL(Data Definition Language)
&lt;/h2&gt;

&lt;p&gt;This is what you use to create and define your database.It deals with the structure of your table.When you run them,the table either exists or it doesn't.You can think of it as an empty house(empty rooms just walls)&lt;/p&gt;

&lt;h2&gt;
  
  
  DML(Data Manipulation Language)
&lt;/h2&gt;

&lt;p&gt;This actually works with the data inside your table.You can think of it as the staff inside your house.&lt;/p&gt;

&lt;p&gt;NOTE:DDL deals with the structure while DML deals with the data.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I used CREATE, INSERT, UPDATE, and DELETE
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.Create
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvylllzbnsg9fwjsxb73f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvylllzbnsg9fwjsxb73f.png" alt=" " width="548" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This command creates the table of your title choice&lt;/p&gt;

&lt;h3&gt;
  
  
  2.Insert
&lt;/h3&gt;

&lt;p&gt;This command allows you to fill your table by inserting data into the table you created following the data type strictly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsuxba459w1tlt4kbgdw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsuxba459w1tlt4kbgdw.png" alt=" " width="771" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The data type should corespond with the data you put in the table you created.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Update
&lt;/h3&gt;

&lt;p&gt;The update command allows you to make changes in your table for instance if you made a mistake and you need to make immediate changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbiqongugc5qbtts9e2g0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbiqongugc5qbtts9e2g0.png" alt=" " width="336" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Delete/drop
&lt;/h3&gt;

&lt;p&gt;The 'delete' command allows you to eliminate a specific rows of your choice while alter messes with the columns.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8brvq6jq17siz1z7465v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8brvq6jq17siz1z7465v.png" alt=" " width="425" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Filtering and Where
&lt;/h2&gt;

&lt;p&gt;The where clause is actually one of the most important commands.Its actually my 'best friend'since I interact with it a lot.Without this you cannot execute the delete and update command since it will affect every row.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.=(equals to)
&lt;/h3&gt;

&lt;p&gt;=(equals to) only filters the data corresponding to your where clause.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcft09kbm6j8itxfclai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcft09kbm6j8itxfclai.png" alt=" " width="387" height="93"&gt;&lt;/a&gt;&lt;br&gt;
It will only highlight the form 4 students.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.&amp;gt;=(greater than or equals to)
&lt;/h3&gt;

&lt;p&gt;This only selects the data that is above or equal the highlighted command in the where clause.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F814ccxf6mirgr1k2crpv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F814ccxf6mirgr1k2crpv.png" alt=" " width="358" height="117"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Like
&lt;/h3&gt;

&lt;p&gt;It is done by adding a percentage before of after a character to give a hint that there is some characters but it's just not given.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1pkzatphntfiqvp7mpdq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1pkzatphntfiqvp7mpdq.png" alt=" " width="444" height="141"&gt;&lt;/a&gt;&lt;br&gt;
subjects like computer studies will be highlighted.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.Between
&lt;/h3&gt;

&lt;p&gt;This gives the data that is in the range that you highlighted&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyszw4swnl9i9zxuzxjn8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyszw4swnl9i9zxuzxjn8.png" alt=" " width="415" height="128"&gt;&lt;/a&gt;&lt;br&gt;
Marks like 70s will be included.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.In
&lt;/h3&gt;

&lt;p&gt;This matches the list.After the function'In',it is then followed by brackets and data separated by a comma in between them inside the bracket&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgi6qlo5o7v2ty6kjsbow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgi6qlo5o7v2ty6kjsbow.png" alt=" " width="482" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Case when
&lt;/h2&gt;

&lt;p&gt;This is a condition inside a query.It's almost similar to the 'if' statement in Excel and power BI.I didn't expect myself to like this as much as i do at the moment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fin4ba7zldxde0dlrbxf8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fin4ba7zldxde0dlrbxf8.png" alt=" " width="428" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What i found challenging while attempting my assignment
&lt;/h2&gt;

&lt;p&gt;In a spreadsheet, you click a cell and type. In SQL,you describe exactly what you want to change and under what conditions. The approach feels rigid at first, but it is actually more precise. You cannot accidentally drag a formula into the wrong column.&lt;br&gt;
Also while doing the assignment,I ran an UPDATE without a WHERE clause.Every data in the table immediately became 'Unknown'.That mistake reinforced two habits: always try to always write the WHERE clause first before anything else and always work inside a transaction when experimenting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The past few weeks taught me that SQL isn't about memorizing commands.First,you set up the structure with DDL,you then work inside it with DML.Think of it like building a house from scratch.At one point I ran an UPDATE without a WHERE clause and watched every single row change at once.That really got me frustrated.Now 'WHERE' and 'CASE WHEN' don't feel like random syntax anymore,they feel like tools I actually want to use.&lt;br&gt;
If you're just starting out,always remember to write your conditions before your changes.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>sql</category>
    </item>
    <item>
      <title>How to publish a Power BI report and embed it in a website.</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Sun, 05 Apr 2026 18:11:41 +0000</pubDate>
      <link>https://dev.to/jaysonjob/how-to-publish-a-power-bi-report-and-embed-it-in-a-website-lg6</link>
      <guid>https://dev.to/jaysonjob/how-to-publish-a-power-bi-report-and-embed-it-in-a-website-lg6</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Power BI is a powerful intelligence tool that enables users to transform raw data and generate insights and interactive dashboards and reports.One of its most useful features is the ability to publish reports to the Power BI Service and embed them into websites so that your work can reach your boss or client or add into your potfolio website.&lt;br&gt;
This guide walks through the full process step by step: creating a workspace, publishing a report, generating embed code, and embedding the report into a website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Create a Workspace in Power BI Service
&lt;/h2&gt;

&lt;p&gt;Before you can share anything,you need to put it somewhere.That space is called a workspace in power BI.In simple terms,a worksapce is like your report's new home.&lt;br&gt;
It's designed mostly for power BI reports,dashboards and datasets.Each workspace can have its own set of people with different permission levels.&lt;br&gt;
How to create: &lt;br&gt;
1.open your web browser and go to app.powerbi.com. Sign in with your Microsoft account either work or school account.&lt;br&gt;
2.Once you're logged in, look at the left-hand menu. You'll see icons for Home, Browse, Workspaces. Click Workspaces.At the bottom of the workspace list, you'll see a button that says + New workspace. Click it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iac8dkiqy8je1pbefij.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iac8dkiqy8je1pbefij.png" alt=" " width="800" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A window will pop up asking for some details.&lt;br&gt;
  .NAME:Put something clear and simple like"Electronics Sales Dashboard"&lt;br&gt;
   DESCRIPTION:Write something like "Monthly sales data for the electronics team"though its optional.&lt;br&gt;
   ADVANCED OPTION: This is where you set who can access and what license type to use&lt;br&gt;
3.Click Apply.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zf5icl74uapclke3e4l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zf5icl74uapclke3e4l.png" alt=" " width="800" height="750"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Four Workspace Roles &lt;br&gt;
Power BI gives you four different levels of access.&lt;br&gt;
Admin-He does Everything. Delete the workspace, add or remove people, change settings, upload reports — total control&lt;br&gt;
Member-Edit and share content, but cannot add other members or delete the workspace&lt;br&gt;
Contributor-Upload and edit reports, but cannot manage permissions or share with new people&lt;br&gt;
Viewer  Can only look at reports. No editing, no uploading, no sharing&lt;/p&gt;

&lt;h2&gt;
  
  
  step2. Uploading and Publishing Your Report
&lt;/h2&gt;

&lt;p&gt;Once your workspace is ready, it's time to get your report from Power BI Desktop into the cloud.&lt;br&gt;
Publishing from Power BI Desktop&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open your finished report in Power BI Desktop.
2.Save your file (Ctrl+S)
3.Click the Publish button on the Home ribbon at the top.
4.If asked, sign in with your Microsoft account.
5.A small window will pop up showing your available workspaces. Pick the one you just created.
6.Click Select.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq9ab2rkv3yso8ymuvfq2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq9ab2rkv3yso8ymuvfq2.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwg9fi59nf58jjaj71zm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwg9fi59nf58jjaj71zm.png" alt=" " width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7.Wait a moment while Power BI uploads and checks your file. This usually takes afew seconds close to a minutes, depending on how big and complex your report is.&lt;br&gt;
8.When it's done, you'll see a success message. Click the link to open your report in Power BI Service (the cloud version).&lt;/p&gt;

&lt;h3&gt;
  
  
  Double-Check That Everything Worked
&lt;/h3&gt;

&lt;p&gt;After publishing, go back to Power BI Service and click on your workspace. You should see three things:&lt;br&gt;
     The Report (your actual visuals and pages)&lt;br&gt;
     The Dataset (your data model)&lt;br&gt;
     Maybe a Dashboard if you made one&lt;/p&gt;

&lt;p&gt;Click on the report name to open it. Click through every page. Test your slicers, your drill-throughs, and any custom visuals. Sometimes things look perfect in Desktop but act weird in the cloud. &lt;/p&gt;

&lt;h2&gt;
  
  
  step3.Creating the embed code
&lt;/h2&gt;

&lt;p&gt;Power BI gives you three different ways to embed a report. Picking the wrong one can either break things or expose private data.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Publish to Web-Anyone with the link and it's Best for Personal blogs, public portfolios and marketing demos&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secure Embed-Only people with Power BI accounts you approve   Pro for each viewer and it's best for Internal company portals, private team sites&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Power BI Embedded-Any app user (no Power BI account needed)   Azure subscription (paid) best for Customer-facing products, SaaS apps&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Option A: Publish to Web (Public)
&lt;/h2&gt;

&lt;p&gt;This is the easiest method and perfect for portfolio pieces or blog posts. But be aware that anyone on the internet can access and view your report. Never use this for customer data, salaries, or anything private.&lt;br&gt;
Here's how to do it:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa26yjbkukxeexyc3f925.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa26yjbkukxeexyc3f925.png" alt=" " width="672" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1.Open your published report in Power BI Service.&lt;br&gt;
   2.In the top menu, click File → Embed report → Publish to web (public).&lt;br&gt;
   3.Read the warning. Seriously. It's telling you that this report will be public and search engines can index it. Don't  click past this without thinking.&lt;br&gt;
    4.Click Create embed code.&lt;br&gt;
    5.Click Publish to confirm.&lt;br&gt;
    6.You'll see two things: a Link (direct URL) and an HTML &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7uzp1s6ipc4fcuk42e5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7uzp1s6ipc4fcuk42e5q.png" alt=" " width="715" height="171"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That weird long string in the src part is your report's unique ID.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option B: Secure Embed (For Internal Use)
&lt;/h2&gt;

&lt;p&gt;This is best and highly recomended for private and sensitive data like employee salary and sales figures.&lt;br&gt;
This is how you do it:&lt;br&gt;
    1.Open your report in Power BI Service.&lt;br&gt;
    2.Click File → Embed report → Website or portal.&lt;br&gt;
    3.Copy the URL and embed code provided.&lt;br&gt;
    4.Anyone who tries to view the embedded report will have to sign in with their Microsoft account. And they only see it if you've given them permission in the workspace.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option C:Power BI Embedded (For Commercial Products)
&lt;/h2&gt;

&lt;p&gt;This one is for developers building apps that show reports to customers. Think of a SaaS product that includes analytics for thousands of none users who have Power BI licenses. This requires Azure setup, API knowledge, and a paid subscription. If you're just trying to put a report on your blog or team site, ignore this option.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3:Embedding the Report on a Website
&lt;/h2&gt;

&lt;p&gt;You've got your embed code. Now let's put it somewhere people can actually see it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 1: Simple HTML Page
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjv61gxvr585hlzs7e4v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjv61gxvr585hlzs7e4v.png" alt=" " width="594" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Replace YOUR_REPORT_ID_HERE with the actual URL from your embed code&lt;br&gt;
3.save the file as dashboard.html&lt;br&gt;
4.Double-click the file to open it in your browser. You should see your live report on the page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 2: WordPress
&lt;/h3&gt;

&lt;p&gt;1.Add a Custom HTML block to your page or post.&lt;br&gt;
2.Paste your iframe code inside.&lt;br&gt;
3.Publish or update the page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 3: Medium or Dev.to
&lt;/h3&gt;

&lt;p&gt;These platforms don't allow raw iframe codes for security reasons. Your best bet is to host the HTML page and then share the link in your story.&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;p&gt;When the Publish button is grayed out and won't let you click it,it means you're probably not signed in. Go to File → Sign in and log into your Microsoft account.&lt;br&gt;
When you get an error,You probablly  don't have permission to publish to this workspace.This is either the workspace admin hasn't given you access and you should reach out to them to add you as a Member or Contributor.&lt;br&gt;
When the embedded report shows a blank screen or says "Access denied."For public embeds, your Power BI admin might have disabled "Publish to web" in the tenant settings.You should ask them to turn it on or for secure embeds, make sure the viewer has been added to the workspace.&lt;br&gt;
When your report shows old data,it means your dataset probably isn't refreshing automatically. Check that scheduled refresh if it is turned on and that your data source credentials haven't expired. Expired passwords is the main reason reports stops updating.&lt;/p&gt;

&lt;h2&gt;
  
  
  Note:
&lt;/h2&gt;

&lt;p&gt;Security should be the first priority always.&lt;br&gt;
Do NOT use "Publish to web" for anything with personal information, customer data, financial details, or trade secrets. Once it's public, it's public forever. Google can find it. Your competitors can find it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Publishing a Power BI report takes your work from a file stuck on your computer to a live tool that anyone can access. The whole process — workspace, upload, embed code, website takes few minutes once you understand the steps.&lt;br&gt;
The real skill is knowing which embedding method fits your situation and keeping your data safe. Publish your report out and let your insights do the work.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Understanding Data modeling in power bi,Joins,relationships and schemas explained.</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Sun, 29 Mar 2026 18:38:47 +0000</pubDate>
      <link>https://dev.to/jaysonjob/understanding-data-modeling-in-power-bijoinsrelationships-and-schemas-explained-k48</link>
      <guid>https://dev.to/jaysonjob/understanding-data-modeling-in-power-bijoinsrelationships-and-schemas-explained-k48</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When I first heard about Power BI, I thought it's all about making charts and dashboards. I came to realize even the most beautiful visuals can produce wrong numbers when it's not well organised and most beginners start questioning themselves why their totals are not adding up correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Modeling
&lt;/h2&gt;

&lt;p&gt;Data modeling is organising and structuring your data so that it can be efficient and accurate for Power BI to easily analyse it.&lt;br&gt;
In simple terms, modeling is what separates a report that looks good from what is actually correct. You can think of it like a building plan. You cannot skip the plan and expect the building to go well. If you skip data modeling, you will get inaccurate report.&lt;/p&gt;

&lt;h2&gt;
  
  
  Joins
&lt;/h2&gt;

&lt;p&gt;Joins in Power BI combines data from multiple tables based on related columns. It uses relationships and DAX for joining data unlike SQL where you write join statements.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Inner Join
&lt;/h3&gt;

&lt;p&gt;An inner join returns only the rows where both tables have a matching value and leaves out the ones that don't have a match. This join gives you a clean and trimmed result with no missing pieces on either side.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Outer Join
&lt;/h3&gt;

&lt;p&gt;A full outer join returns all rows from both tables. Where there is a match, the columns are filled in from both sides. Where there is no match on either side, you get nulls.&lt;br&gt;
You can only use it when you need a complete picture of both datasets.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Left Join
&lt;/h3&gt;

&lt;p&gt;A left join returns all rows from the first table and the matching rows from the second table. If a row in the left table has no match in the right table, the right-side columns come back as null. It acts as 'don't leave anyone behind.'&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Right Join
&lt;/h3&gt;

&lt;p&gt;A right join is the exact opposite of the left join. It returns all rows from the right table and the matching rows from the left table. Unmatched rows on the left side come back as null.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Right Anti Join
&lt;/h3&gt;

&lt;p&gt;This join keeps only the rows from the right table that don't match anything on the left. Commonly used to find new data on the second table that don't match with the main dataset.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Left Anti Join
&lt;/h3&gt;

&lt;p&gt;A left anti join returns only the rows from the left table that have no matching rows in the right table. Used to find the 'what's missing.'&lt;/p&gt;

&lt;h2&gt;
  
  
  Power BI Relationships
&lt;/h2&gt;

&lt;p&gt;Power BI understands how tables get connected.When you connect two tables in Power BI, that connection is called a relationship.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Cardinality
&lt;/h3&gt;

&lt;p&gt;Cardinality describes how many rows on each table can merge. It helps you understand the structure of your data and how to join the tables perfectly.&lt;/p&gt;

&lt;h4&gt;
  
  
  a. 1:1
&lt;/h4&gt;

&lt;p&gt;This matches one-to-one whereby each row in table A matches exactly one row in table B.&lt;/p&gt;

&lt;h4&gt;
  
  
  b. 1:M
&lt;/h4&gt;

&lt;p&gt;In this case, one row in table A matches many rows in table B. They are most efficient and predictable in Power BI and I recommend to always aim for 1:M.&lt;/p&gt;

&lt;h4&gt;
  
  
  c. M:M
&lt;/h4&gt;

&lt;p&gt;Multiple rows in table A can match multiple rows in table B.&lt;br&gt;
This relationship can cause unexpected filter behaviour, double counting, and you can resolve it by introducing a bridge table.&lt;/p&gt;

&lt;h4&gt;
  
  
  d. M:1
&lt;/h4&gt;

&lt;p&gt;This relationship, many rows in table A matches to 1 row in table B.&lt;/p&gt;

&lt;h3&gt;
  
  
  Active vs Inactive
&lt;/h3&gt;

&lt;p&gt;Tables can be connected in different ways when building data models.&lt;br&gt;
An active relationship is always the default and always on between two tables and appears as a solid line in model view. Every DAX and every visual in your report uses the active relationship automatically.&lt;br&gt;
Inactive relationship is a stand-by connection ignored by default. You can create it only when you need a second or third path between two tables.&lt;/p&gt;

&lt;h3&gt;
  
  
  Schemas
&lt;/h3&gt;

&lt;p&gt;Schemas simply is the structure of your data model. It shows how tables are arranged and connected to each other. You can think of it like a map to your data.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Star Schemas
&lt;/h4&gt;

&lt;p&gt;This is the recommended standard for Power BI.&lt;br&gt;
It takes one flat table and splits it into separate, clean tables, one fact table in the middle surrounded by dimension tables hence resembling a star.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Snowflake Schema
&lt;/h4&gt;

&lt;p&gt;This is basically like a star schema where some of the dimension tables are broken down further into smaller tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I used to create dashboards that had weird numbers and calculations that I couldn't even explain. Data modeling made Power BI make sense to me and once the model was right, everything started to fall in place. Once you understand joins, relationships and schemas, your reports start telling accurate story and not just creating beautiful visuals.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>writing</category>
    </item>
    <item>
      <title>How Excel is Used in Real-World Data Analysis</title>
      <dc:creator>jayson kibet</dc:creator>
      <pubDate>Wed, 25 Mar 2026 14:02:05 +0000</pubDate>
      <link>https://dev.to/jaysonjob/how-excel-is-used-in-real-world-data-analysis-2mj7</link>
      <guid>https://dev.to/jaysonjob/how-excel-is-used-in-real-world-data-analysis-2mj7</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;I used to think Excel is a boring spreadsheet full of rows and columns only used by accountants and nobody cared about it. Everything changed the moment I jumped into data analytics. I came to realize that Excel really is a spreadsheet software developed by Microsoft that allows you to make calculations and analyse data. It is also the most powerful tool in data analytics. Excel is used in almost every industry you can think of.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real World Use Cases of Excel
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Education Institutions
&lt;/h3&gt;

&lt;p&gt;Excel is used to monitor the trend in performance of students in schools by calculating their score, the mean mark and highlighting the top performers.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Business
&lt;/h3&gt;

&lt;p&gt;Excel is used by most companies and firms to track down their sales, profits and losses. It can also show their product's performance in various tables and charts.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Healthcare
&lt;/h3&gt;

&lt;p&gt;Health institutions use Excel to monitor their patients and keep their track records. It can also calculate the number of patients and medicines distributed within the health facility.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. E-Commerce
&lt;/h3&gt;

&lt;p&gt;A major example is Jumia. It uses Excel to calculate discounts distributed among different products and identify the most sold products.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Formulas in Excel
&lt;/h2&gt;

&lt;p&gt;Excel is run by different formulas.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. IF Statement
&lt;/h3&gt;

&lt;p&gt;One of the most effective formulas is the IF statement. This gives a specific command. For example:&lt;br&gt;
=IF(A2&amp;lt;30,"young","old")&lt;br&gt;
This statement tells us that in cell A2, if its value is less than 30, then it should be classified as young and the rest should be old.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. SUM Statement
&lt;/h3&gt;

&lt;p&gt;The SUM statement adds up the highlighted column. For example:&lt;br&gt;
=SUM(A2:A20)&lt;br&gt;
This command sums up the values from the second row up to the twentieth row.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. VLOOKUP
&lt;/h3&gt;

&lt;p&gt;VLOOKUP searches for a value in one column and returns a matching value from another column: =VLOOKUP(A2,product_table,2,FALSE)&lt;br&gt;
This formula searches for the value in cell A2 in the first column of the table and returns the corresponding value from the second column.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Cleaning
&lt;/h2&gt;

&lt;p&gt;Before analysing data, you ought to clean it for easier analysis. One of the major ways of cleaning is by removing duplicates. You can also replace some values by simply pressing Ctrl+H. This shortcut allows you to find a value and replace it.&lt;br&gt;
 Another common formula is TRIM.&lt;br&gt;
This special command eliminates unnecessary spaces before, after and between words inside the cells. Example:&lt;br&gt;
=TRIM(A2)&lt;br&gt;
It eliminates unnecessary spaces in cell A2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sorting and Conditional Formatting
&lt;/h2&gt;

&lt;p&gt;Sorting allows you to arrange the selected column in either ascending or descending order, whereas conditional formatting allows you to change the colour of the highlighted cell depending on what you want to highlight. It makes it easier for you to scan and spot patterns in large data instead of going through every row.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Visualization
&lt;/h2&gt;

&lt;p&gt;Excel goes beyond calculations and writing formulas.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Pivot Tables
&lt;/h3&gt;

&lt;p&gt;Pivot tables in Excel summarise data in seconds without writing formulas and making calculations, simply by dragging and dropping the columns you want to analyse.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Charts and Graphs
&lt;/h3&gt;

&lt;p&gt;Excel allows you to present your data in the form of graphs and charts for easy understanding. You can also use a pie chart to show how various parts make a whole.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;At first, I underestimated Excel, but learning it has completely changed how I see data. It is now one of the first tools I would recommend to anyone starting in data analytics.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>analytics</category>
    </item>
  </channel>
</rss>
