csci 127: introduction to computer science · yes, we will, since 1) it’s fundamental, and 2) the...

Post on 30-May-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CSci 127: Introduction to Computer Science

hunter.cuny.edu/csci

CSci 127 (Hunter) Lecture 6 Summer 2020 1 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?

We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?

Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?

Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?

Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Frequently Asked Questions

From previous semesters.

Could you spend more time on circuits/logical expressions/truth tables/decisions?We will start with that today, and more in the following weeks.

I still don’t get indices and the brackets. Could you spend more time on that?Yes, we will, since1) it’s fundamental, and2) the same ideas are used for accessing formatted data (today’s topic).

I still don’t get what is meant by input?Input is data provided to a program each time it runs, it may change at each run.In this course we have used the input() function.

Should I have received email for this course?Absolutely!!! We often send important communication by email. If you have notbeen receiving email from us weekly, please check your spam folder.

CSci 127 (Hunter) Lecture 6 Summer 2020 2 / 35

Today’s Topics

Recap: Logical Expressions & Circuits

Design: Cropping Images

Accessing Formatted Data

Design Challenge: Astrophysics andastropy

CSci 127 (Hunter) Lecture 6 Summer 2020 3 / 35

Today’s Topics

Recap: Logical Expressions & Circuits

Design: Cropping Images

Accessing Formatted Data

Design Challenge: Astrophysics andastropy

CSci 127 (Hunter) Lecture 6 Summer 2020 4 / 35

Recap: Logical Operators

and

in1 in2 returns:False and False False

False and True False

True and False False

True and True True

or

in1 in2 returns:False or False False

False or True True

True or False True

True or True True

not

in1 returns:not False True

not True False

CSci 127 (Hunter) Lecture 6 Summer 2020 5 / 35

Recap: Logical Operators

and

in1 in2 returns:False and False False

False and True False

True and False False

True and True True

or

in1 in2 returns:False or False False

False or True True

True or False True

True or True True

not

in1 returns:not False True

not True False

CSci 127 (Hunter) Lecture 6 Summer 2020 5 / 35

Recap: Logical Operators

and

in1 in2 returns:False and False False

False and True False

True and False False

True and True True

or

in1 in2 returns:False or False False

False or True True

True or False True

True or True True

not

in1 returns:not False True

not True False

CSci 127 (Hunter) Lecture 6 Summer 2020 5 / 35

Logical Operators & Circuits

Each logical operator (and, or, &not) can be used to join togetherexpressions.

Example: in1 and in2

Each logical operator (and, or, &not) has a corresponding logicalcircuit that can be used to jointogether inputs.

CSci 127 (Hunter) Lecture 6 Summer 2020 6 / 35

Logical Operators & Circuits

Each logical operator (and, or, &not) can be used to join togetherexpressions.

Example: in1 and in2

Each logical operator (and, or, &not) has a corresponding logicalcircuit that can be used to jointogether inputs.

CSci 127 (Hunter) Lecture 6 Summer 2020 6 / 35

Logical Operators & Circuits

Each logical operator (and, or, &not) can be used to join togetherexpressions.

Example: in1 and in2

Each logical operator (and, or, &not) has a corresponding logicalcircuit that can be used to jointogether inputs.

CSci 127 (Hunter) Lecture 6 Summer 2020 6 / 35

Logical Operators & Circuits

Each logical operator (and, or, &not) can be used to join togetherexpressions.

Example: in1 and in2

Each logical operator (and, or, &not) has a corresponding logicalcircuit that can be used to jointogether inputs.

CSci 127 (Hunter) Lecture 6 Summer 2020 6 / 35

Examples: Logical Circuit

(in1 and in2) and in3

CSci 127 (Hunter) Lecture 6 Summer 2020 7 / 35

Examples: Logical Circuit

(in1 and in2) and in3

CSci 127 (Hunter) Lecture 6 Summer 2020 7 / 35

More Circuit Examples

Examples from last lecture:

Draw a circuit that corresponds to each logical expression:

not( in1 or in2 )

(in1 or in2) and (in1 or in3)

(not(in1 and not in2)) or (in1 and (in2 and in3))

CSci 127 (Hunter) Lecture 6 Summer 2020 8 / 35

Challenge Problem:

Predict what the code will do:

CSci 127 (Hunter) Lecture 6 Summer 2020 9 / 35

Python Tutor

(Demo with pythonTutor)

CSci 127 (Hunter) Lecture 6 Summer 2020 10 / 35

Today’s Topics

Recap: Logical Expressions & Circuits

Design: Cropping Images

Accessing Formatted Data

Design Challenge: Astrophysics andastropy

CSci 127 (Hunter) Lecture 6 Summer 2020 11 / 35

Challenge Problem: Design Question

From Final Exam, Fall 2017, V4, #6.

Design an algorithm that reads in an image and displays the lower leftcorner of the image.

Input:Output:Process: (Brainstorm for a “To Do” list to accomplish this.)

CSci 127 (Hunter) Lecture 6 Summer 2020 12 / 35

Challenge Problem: Design Question

From Final Exam, Fall 2017, V4, #6.

Design an algorithm that reads in an image and displays the lower leftcorner of the image.

Input:Output:Process: (Brainstorm for a “To Do” list to accomplish this.)

CSci 127 (Hunter) Lecture 6 Summer 2020 12 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.

2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.

3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.

4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.

5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.

6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Design Question

Design a program that asks the user for an image and then display theupper left quarter of the image. (First, design the pseudocode, and if time,expand to a Python program.)

How to approach this:

Create a “To Do” list of what your program has to accomplish.

Read through the problem, and break it into “To Do” items.

Don’t worry if you don’t know how to do all the items you write down.

Example:

1 Import libraries.2 Ask user for an image name.3 Read in image.4 Figure out size of image.5 Make a new image that’s half the height and half the width.6 Display the new image.

CSci 127 (Hunter) Lecture 6 Summer 2020 13 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.

img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Challenge Problem: Design Question

1 Import libraries.

import matplotlib.pyplot as plt

import numpy as np

2 Ask user for an image name.

inF = input(’Enter file name: ’)

3 Read in image.

img = plt.imread(inF) #Read in image from inF

4 Figure out size of image.

height = img.shape[0] #Get height

width = img.shape[1] #Get width

5 Make a new image that’s half the height and half the width.img2 = img[height//2:, :width//2] #Crop to lower left corner

6 Display the new image.

plt.imshow(img2) #Load our new image into pyplot

plt.show() #Show the image (waits until closed to continue)

CSci 127 (Hunter) Lecture 6 Summer 2020 14 / 35

Today’s Topics

Recap: Logical Expressions & Circuits

Design: Cropping Images

Accessing Formatted Data

Design Challenge: Astrophysics andastropy

CSci 127 (Hunter) Lecture 6 Summer 2020 15 / 35

Structured Data

Common to have data structured in a spread sheet.

In the example above, we have the first line that says“Undergraduate”.

Next line has the titles for the columns.

Subsequent lines have a college and attributes about the college.

Python has several ways to read in such data.

We will use the popular Python Data Analysis Library (Pandas).

CSci 127 (Hunter) Lecture 6 Summer 2020 16 / 35

Structured Data

Common to have data structured in a spread sheet.

In the example above, we have the first line that says“Undergraduate”.

Next line has the titles for the columns.

Subsequent lines have a college and attributes about the college.

Python has several ways to read in such data.

We will use the popular Python Data Analysis Library (Pandas).

CSci 127 (Hunter) Lecture 6 Summer 2020 16 / 35

Structured Data

Common to have data structured in a spread sheet.

In the example above, we have the first line that says“Undergraduate”.

Next line has the titles for the columns.

Subsequent lines have a college and attributes about the college.

Python has several ways to read in such data.

We will use the popular Python Data Analysis Library (Pandas).

CSci 127 (Hunter) Lecture 6 Summer 2020 16 / 35

Structured Data

Common to have data structured in a spread sheet.

In the example above, we have the first line that says“Undergraduate”.

Next line has the titles for the columns.

Subsequent lines have a college and attributes about the college.

Python has several ways to read in such data.

We will use the popular Python Data Analysis Library (Pandas).

CSci 127 (Hunter) Lecture 6 Summer 2020 16 / 35

Structured Data

Common to have data structured in a spread sheet.

In the example above, we have the first line that says“Undergraduate”.

Next line has the titles for the columns.

Subsequent lines have a college and attributes about the college.

Python has several ways to read in such data.

We will use the popular Python Data Analysis Library (Pandas).

CSci 127 (Hunter) Lecture 6 Summer 2020 16 / 35

Structured Data

Common to have data structured in a spread sheet.

In the example above, we have the first line that says“Undergraduate”.

Next line has the titles for the columns.

Subsequent lines have a college and attributes about the college.

Python has several ways to read in such data.

We will use the popular Python Data Analysis Library (Pandas).

CSci 127 (Hunter) Lecture 6 Summer 2020 16 / 35

Structured Data

We will use the popular Python Data Analysis Library (Pandas).

Open source and freely available (part of anaconda distribution).

Already loaded on the machines in 1001E North.

See end of Lab 6 for directions on downloading it to your homemachine.

To use, add to the top of your file:

import pandas as pd

CSci 127 (Hunter) Lecture 6 Summer 2020 17 / 35

Structured Data

We will use the popular Python Data Analysis Library (Pandas).

Open source and freely available (part of anaconda distribution).

Already loaded on the machines in 1001E North.

See end of Lab 6 for directions on downloading it to your homemachine.

To use, add to the top of your file:

import pandas as pd

CSci 127 (Hunter) Lecture 6 Summer 2020 17 / 35

Structured Data

We will use the popular Python Data Analysis Library (Pandas).

Open source and freely available (part of anaconda distribution).

Already loaded on the machines in 1001E North.

See end of Lab 6 for directions on downloading it to your homemachine.

To use, add to the top of your file:

import pandas as pd

CSci 127 (Hunter) Lecture 6 Summer 2020 17 / 35

Structured Data

We will use the popular Python Data Analysis Library (Pandas).

Open source and freely available (part of anaconda distribution).

Already loaded on the machines in 1001E North.

See end of Lab 6 for directions on downloading it to your homemachine.

To use, add to the top of your file:

import pandas as pd

CSci 127 (Hunter) Lecture 6 Summer 2020 17 / 35

Structured Data

We will use the popular Python Data Analysis Library (Pandas).

Open source and freely available (part of anaconda distribution).

Already loaded on the machines in 1001E North.

See end of Lab 6 for directions on downloading it to your homemachine.

To use, add to the top of your file:

import pandas as pd

CSci 127 (Hunter) Lecture 6 Summer 2020 17 / 35

CSV Files

Excel .xls files have much extra formatting.

The text file version is called CSV for comma separated values.

Each row is a line in the file.

Columns are separated by commas on each line.

CSci 127 (Hunter) Lecture 6 Summer 2020 18 / 35

CSV Files

Excel .xls files have much extra formatting.

The text file version is called CSV for comma separated values.

Each row is a line in the file.

Columns are separated by commas on each line.

CSci 127 (Hunter) Lecture 6 Summer 2020 18 / 35

CSV Files

Excel .xls files have much extra formatting.

The text file version is called CSV for comma separated values.

Each row is a line in the file.

Columns are separated by commas on each line.

CSci 127 (Hunter) Lecture 6 Summer 2020 18 / 35

CSV Files

Excel .xls files have much extra formatting.

The text file version is called CSV for comma separated values.

Each row is a line in the file.

Columns are separated by commas on each line.

CSci 127 (Hunter) Lecture 6 Summer 2020 18 / 35

CSV Files

nycHistPop.csv

CSci 127 (Hunter) Lecture 6 Summer 2020 19 / 35

Reading in CSV Files

To read in a CSV file: myVar = pd.read csv("myFile.csv")

Pandas has its own type, DataFrame, that is perfect for holding asheet of data.

Often abbreviated: df.

It also has Series, that is perfect for holding a row or column of data.

CSci 127 (Hunter) Lecture 6 Summer 2020 20 / 35

Reading in CSV Files

To read in a CSV file: myVar = pd.read csv("myFile.csv")

Pandas has its own type, DataFrame, that is perfect for holding asheet of data.

Often abbreviated: df.

It also has Series, that is perfect for holding a row or column of data.

CSci 127 (Hunter) Lecture 6 Summer 2020 20 / 35

Reading in CSV Files

To read in a CSV file: myVar = pd.read csv("myFile.csv")

Pandas has its own type, DataFrame, that is perfect for holding asheet of data.

Often abbreviated: df.

It also has Series, that is perfect for holding a row or column of data.

CSci 127 (Hunter) Lecture 6 Summer 2020 20 / 35

Reading in CSV Files

To read in a CSV file: myVar = pd.read csv("myFile.csv")

Pandas has its own type, DataFrame, that is perfect for holding asheet of data.

Often abbreviated: df.

It also has Series, that is perfect for holding a row or column of data.

CSci 127 (Hunter) Lecture 6 Summer 2020 20 / 35

Example: Reading in CSV Files

nycHistPop.csv

In Lab 6

import matplotlib.pyplot as plt

import pandas as pd

pop = pd.read csv(’nycHistPop.csv’,skiprows=5)

pop.plot(x="Year")

plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 21 / 35

Example: Reading in CSV Files

nycHistPop.csv

In Lab 6

import matplotlib.pyplot as plt

import pandas as pd

pop = pd.read csv(’nycHistPop.csv’,skiprows=5)

pop.plot(x="Year")

plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 21 / 35

Example: Reading in CSV Files

nycHistPop.csv

In Lab 6

import matplotlib.pyplot as plt

import pandas as pd

pop = pd.read csv(’nycHistPop.csv’,skiprows=5)

pop.plot(x="Year")

plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 21 / 35

Example: Reading in CSV Files

nycHistPop.csv

In Lab 6

import matplotlib.pyplot as plt

import pandas as pd

pop = pd.read csv(’nycHistPop.csv’,skiprows=5)

pop.plot(x="Year")

plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 21 / 35

Example: Reading in CSV Files

nycHistPop.csv

In Lab 6

import matplotlib.pyplot as plt

import pandas as pd

pop = pd.read csv(’nycHistPop.csv’,skiprows=5)

pop.plot(x="Year")

plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 21 / 35

Series in Pandas

Series can store a column or row of a DataFrame.

Example: pop["Manhattan"] is the Series corresponding to the column ofManhattan data.

Example:print("The largest number living in the Bronx is",

pop["Bronx"].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 22 / 35

Series in Pandas

Series can store a column or row of a DataFrame.

Example: pop["Manhattan"] is the Series corresponding to the column ofManhattan data.

Example:print("The largest number living in the Bronx is",

pop["Bronx"].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 22 / 35

Series in Pandas

Series can store a column or row of a DataFrame.

Example: pop["Manhattan"] is the Series corresponding to the column ofManhattan data.

Example:print("The largest number living in the Bronx is",

pop["Bronx"].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 22 / 35

Challenge Problem

Predict what the following will do:

print("Queens:", pop["Queens"].min())

print("S I:", pop["Staten Island"].mean())

print("S I:", pop["Staten Island"].std())

pop.plot.bar(x="Year")

pop.plot.scatter(x="Brooklyn", y= "Total")

pop["Fraction"] = pop["Bronx"]/pop["Total"]

CSci 127 (Hunter) Lecture 6 Summer 2020 23 / 35

Challenge Problem

Predict what the following will do:

print("Queens:", pop["Queens"].min())

print("S I:", pop["Staten Island"].mean())

print("S I:", pop["Staten Island"].std())

pop.plot.bar(x="Year")

pop.plot.scatter(x="Brooklyn", y= "Total")

pop["Fraction"] = pop["Bronx"]/pop["Total"]

CSci 127 (Hunter) Lecture 6 Summer 2020 23 / 35

Challenge Problem

Predict what the following will do:

print("Queens:", pop["Queens"].min())

print("S I:", pop["Staten Island"].mean())

print("S I:", pop["Staten Island"].std())

pop.plot.bar(x="Year")

pop.plot.scatter(x="Brooklyn", y= "Total")

pop["Fraction"] = pop["Bronx"]/pop["Total"]

CSci 127 (Hunter) Lecture 6 Summer 2020 23 / 35

Challenge Problem

Predict what the following will do:

print("Queens:", pop["Queens"].min())

print("S I:", pop["Staten Island"].mean())

print("S I:", pop["Staten Island"].std())

pop.plot.bar(x="Year")

pop.plot.scatter(x="Brooklyn", y= "Total")

pop["Fraction"] = pop["Bronx"]/pop["Total"]

CSci 127 (Hunter) Lecture 6 Summer 2020 23 / 35

Challenge Problem

Predict what the following will do:

print("Queens:", pop["Queens"].min())

print("S I:", pop["Staten Island"].mean())

print("S I:", pop["Staten Island"].std())

pop.plot.bar(x="Year")

pop.plot.scatter(x="Brooklyn", y= "Total")

pop["Fraction"] = pop["Bronx"]/pop["Total"]

CSci 127 (Hunter) Lecture 6 Summer 2020 23 / 35

Challenge Problem

Predict what the following will do:

print("Queens:", pop["Queens"].min())

print("S I:", pop["Staten Island"].mean())

print("S I:", pop["Staten Island"].std())

pop.plot.bar(x="Year")

pop.plot.scatter(x="Brooklyn", y= "Total")

pop["Fraction"] = pop["Bronx"]/pop["Total"]

CSci 127 (Hunter) Lecture 6 Summer 2020 23 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Solutions

Predict what the following will do:

print("Queens:", pop["Queens"].min())

Minimum value in the column with label “Queens”.

print("S I:", pop["Staten Island"].mean())

Average of values in the column “Staten Island”.

print("S I :", pop["Staten Island"].std())

Standard deviation of values in the column “StatenIsland”.

pop.plot.bar(x="Year")

Bar chart with x-axis ”Year”.

pop.plot.scatter(x="Brooklyn", y= "Total")

Scatter plot of Brooklyn versus Total values.

pop["Fraction"] = pop["Bronx"]/pop["Total"]

New column with the fraction of population thatlives in the Bronx.

CSci 127 (Hunter) Lecture 6 Summer 2020 24 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.

2 Read in the CSV file.

3 Set up a scatter plot.

4 Display plot.

CSci 127 (Hunter) Lecture 6 Summer 2020 25 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.

2 Read in the CSV file.

3 Set up a scatter plot.

4 Display plot.

CSci 127 (Hunter) Lecture 6 Summer 2020 25 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.

2 Read in the CSV file.

3 Set up a scatter plot.

4 Display plot.

CSci 127 (Hunter) Lecture 6 Summer 2020 25 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.

2 Read in the CSV file.

3 Set up a scatter plot.

4 Display plot.

CSci 127 (Hunter) Lecture 6 Summer 2020 25 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.

2 Read in the CSV file.

3 Set up a scatter plot.

4 Display plot.

CSci 127 (Hunter) Lecture 6 Summer 2020 25 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.

2 Read in the CSV file.

3 Set up a scatter plot.

4 Display plot.

CSci 127 (Hunter) Lecture 6 Summer 2020 25 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.import matplotlib.pyplot as plt

import pandas as pd

2 Read in the CSV file.pop=pd.read csv(’cunyF2016.csv’,skiprows=1)

3 Set up a scatter plot.pop.plot.scatter(x="Full-time",y="Part-time")

4 Display plot.plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 26 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.

import matplotlib.pyplot as plt

import pandas as pd

2 Read in the CSV file.pop=pd.read csv(’cunyF2016.csv’,skiprows=1)

3 Set up a scatter plot.pop.plot.scatter(x="Full-time",y="Part-time")

4 Display plot.plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 26 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.import matplotlib.pyplot as plt

import pandas as pd

2 Read in the CSV file.pop=pd.read csv(’cunyF2016.csv’,skiprows=1)

3 Set up a scatter plot.pop.plot.scatter(x="Full-time",y="Part-time")

4 Display plot.plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 26 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.import matplotlib.pyplot as plt

import pandas as pd

2 Read in the CSV file.

pop=pd.read csv(’cunyF2016.csv’,skiprows=1)

3 Set up a scatter plot.pop.plot.scatter(x="Full-time",y="Part-time")

4 Display plot.plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 26 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.import matplotlib.pyplot as plt

import pandas as pd

2 Read in the CSV file.pop=pd.read csv(’cunyF2016.csv’,skiprows=1)

3 Set up a scatter plot.

pop.plot.scatter(x="Full-time",y="Part-time")

4 Display plot.plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 26 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.import matplotlib.pyplot as plt

import pandas as pd

2 Read in the CSV file.pop=pd.read csv(’cunyF2016.csv’,skiprows=1)

3 Set up a scatter plot.pop.plot.scatter(x="Full-time",y="Part-time")

4 Display plot.

plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 26 / 35

Challenge Problem

cunyF2016.csv

Write a complete Python program thatreads in the file, cunyF2016.csv, andproduces a scatter plot of full-time ver-sus part-time enrollment.

Solution:

1 Include pandas & pyplot libraries.import matplotlib.pyplot as plt

import pandas as pd

2 Read in the CSV file.pop=pd.read csv(’cunyF2016.csv’,skiprows=1)

3 Set up a scatter plot.pop.plot.scatter(x="Full-time",y="Part-time")

4 Display plot.plt.show()

CSci 127 (Hunter) Lecture 6 Summer 2020 26 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring valuesin a column and you want to examinethe data for a particular value.

For example, to find the average rain-fall at each location:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location averages.groupAvg =

rain.groupby(’Location’).mean()

4 Print the average rainfall at eachlocation.print(groupAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 27 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring valuesin a column and you want to examinethe data for a particular value.

For example, to find the average rain-fall at each location:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location averages.groupAvg =

rain.groupby(’Location’).mean()

4 Print the average rainfall at eachlocation.print(groupAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 27 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring valuesin a column and you want to examinethe data for a particular value.

For example, to find the average rain-fall at each location:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location averages.groupAvg =

rain.groupby(’Location’).mean()

4 Print the average rainfall at eachlocation.print(groupAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 27 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring valuesin a column and you want to examinethe data for a particular value.

For example, to find the average rain-fall at each location:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location averages.groupAvg =

rain.groupby(’Location’).mean()

4 Print the average rainfall at eachlocation.print(groupAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 27 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring valuesin a column and you want to examinethe data for a particular value.

For example, to find the average rain-fall at each location:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location averages.groupAvg =

rain.groupby(’Location’).mean()

4 Print the average rainfall at eachlocation.print(groupAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 27 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring valuesin a column and you want to examinethe data for a particular value.

For example, to find the average rain-fall at each location:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location averages.groupAvg =

rain.groupby(’Location’).mean()

4 Print the average rainfall at eachlocation.print(groupAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 27 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring valuesin a column and you want to examinethe data for a particular value.

For example, to find the average rain-fall at each location:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location averages.groupAvg =

rain.groupby(’Location’).mean()

4 Print the average rainfall at eachlocation.print(groupAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 28 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring values in a col-umn and you want to examine the data for aparticular value.

For example, to find the average rainfall atone location, e.g. Moree:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location get averages forgroup Moree.MoreeAvg =

rain.groupby([’Location’]).get group(’Moree’).mean()

4 Print the average rainfall.print(MoreeAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 29 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring values in a col-umn and you want to examine the data for aparticular value.

For example, to find the average rainfall atone location, e.g. Moree:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location get averages forgroup Moree.MoreeAvg =

rain.groupby([’Location’]).get group(’Moree’).mean()

4 Print the average rainfall.print(MoreeAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 29 / 35

groupby()

AustraliaRain.csv

Sometimes you have recurring values in a col-umn and you want to examine the data for aparticular value.

For example, to find the average rainfall atone location, e.g. Moree:

1 Import libraries.import pandas as pd

2 Read in the CSV file.rain =

pd.read csv(’AustraliaRain.csv’,skiprows=1)

3 Group the data by location get averages forgroup Moree.MoreeAvg =

rain.groupby([’Location’]).get group(’Moree’).mean()

4 Print the average rainfall.print(MoreeAvg[’Rainfall’])

CSci 127 (Hunter) Lecture 6 Summer 2020 29 / 35

Today’s Topics

Recap: Logical Expressions & Circuits

Design: Cropping Images

Accessing Formatted Data

Design Challenge: Astrophysics andastropy

CSci 127 (Hunter) Lecture 6 Summer 2020 30 / 35

Design Challenge

On a piece of paper, design an algorithm that:

Prints the luminosity of the brightest star.

Prints the temperature in Kelvin (K) of the coldest star.

Prints the temperature in Fahrenheit of the coldest star. New:astropy.units will seamlessly convert!!!

Prints the average radius of a Hypergiant

CSci 127 (Hunter) Lecture 6 Summer 2020 31 / 35

Design Challenge - Solution

Libraries: pandas and astropy

Process:I Print max of ’Luminosity’ columnI Prints min of ’Temperature’ column and store it in temp variableI Use astropy to convert temp variable to Fahrenheit and printI groupby ’Star Type’ and take averages, then print max of ’Radius’

columnI OR groupby ’Star Type’ and get group ’Hypergiant’ to print

average ’Radius’

CSci 127 (Hunter) Lecture 6 Summer 2020 32 / 35

Design Challenge - Solution

Libraries: pandas and astropy

Process:I Print max of ’Luminosity’ column

I Prints min of ’Temperature’ column and store it in temp variableI Use astropy to convert temp variable to Fahrenheit and printI groupby ’Star Type’ and take averages, then print max of ’Radius’

columnI OR groupby ’Star Type’ and get group ’Hypergiant’ to print

average ’Radius’

CSci 127 (Hunter) Lecture 6 Summer 2020 32 / 35

Design Challenge - Solution

Libraries: pandas and astropy

Process:I Print max of ’Luminosity’ columnI Prints min of ’Temperature’ column and store it in temp variable

I Use astropy to convert temp variable to Fahrenheit and printI groupby ’Star Type’ and take averages, then print max of ’Radius’

columnI OR groupby ’Star Type’ and get group ’Hypergiant’ to print

average ’Radius’

CSci 127 (Hunter) Lecture 6 Summer 2020 32 / 35

Design Challenge - Solution

Libraries: pandas and astropy

Process:I Print max of ’Luminosity’ columnI Prints min of ’Temperature’ column and store it in temp variableI Use astropy to convert temp variable to Fahrenheit and print

I groupby ’Star Type’ and take averages, then print max of ’Radius’column

I OR groupby ’Star Type’ and get group ’Hypergiant’ to printaverage ’Radius’

CSci 127 (Hunter) Lecture 6 Summer 2020 32 / 35

Design Challenge - Solution

Libraries: pandas and astropy

Process:I Print max of ’Luminosity’ columnI Prints min of ’Temperature’ column and store it in temp variableI Use astropy to convert temp variable to Fahrenheit and printI groupby ’Star Type’ and take averages, then print max of ’Radius’

column

I OR groupby ’Star Type’ and get group ’Hypergiant’ to printaverage ’Radius’

CSci 127 (Hunter) Lecture 6 Summer 2020 32 / 35

Design Challenge - Solution

Libraries: pandas and astropy

Process:I Print max of ’Luminosity’ columnI Prints min of ’Temperature’ column and store it in temp variableI Use astropy to convert temp variable to Fahrenheit and printI groupby ’Star Type’ and take averages, then print max of ’Radius’

columnI OR groupby ’Star Type’ and get group ’Hypergiant’ to print

average ’Radius’

CSci 127 (Hunter) Lecture 6 Summer 2020 32 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)

Process:I Print max of ’Luminosity’ column

print(stars[’Luminosity(L/Lo)’].max())I Prints min of ’Temperature’ column and store it in temp variable

minTempK = stars[’Temperature (K)’].min()

print(minTempK)I Use astropy to convert temp variable to Fahrenheit and print

KUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I groupby ’Star Type’ and take averages, then print max of ’Radius’columnprint(stars.groupby([’Star type’])\.mean()[’Radius(R/Ro)’].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 33 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)Process:

I Print max of ’Luminosity’ columnprint(stars[’Luminosity(L/Lo)’].max())

I Prints min of ’Temperature’ column and store it in temp variableminTempK = stars[’Temperature (K)’].min()

print(minTempK)I Use astropy to convert temp variable to Fahrenheit and print

KUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I groupby ’Star Type’ and take averages, then print max of ’Radius’columnprint(stars.groupby([’Star type’])\.mean()[’Radius(R/Ro)’].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 33 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)Process:

I Print max of ’Luminosity’ columnprint(stars[’Luminosity(L/Lo)’].max())

I Prints min of ’Temperature’ column and store it in temp variableminTempK = stars[’Temperature (K)’].min()

print(minTempK)

I Use astropy to convert temp variable to Fahrenheit and printKUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I groupby ’Star Type’ and take averages, then print max of ’Radius’columnprint(stars.groupby([’Star type’])\.mean()[’Radius(R/Ro)’].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 33 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)Process:

I Print max of ’Luminosity’ columnprint(stars[’Luminosity(L/Lo)’].max())

I Prints min of ’Temperature’ column and store it in temp variableminTempK = stars[’Temperature (K)’].min()

print(minTempK)I Use astropy to convert temp variable to Fahrenheit and print

KUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I groupby ’Star Type’ and take averages, then print max of ’Radius’columnprint(stars.groupby([’Star type’])\.mean()[’Radius(R/Ro)’].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 33 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)Process:

I Print max of ’Luminosity’ columnprint(stars[’Luminosity(L/Lo)’].max())

I Prints min of ’Temperature’ column and store it in temp variableminTempK = stars[’Temperature (K)’].min()

print(minTempK)I Use astropy to convert temp variable to Fahrenheit and print

KUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I groupby ’Star Type’ and take averages, then print max of ’Radius’column

print(stars.groupby([’Star type’])\.mean()[’Radius(R/Ro)’].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 33 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)Process:

I Print max of ’Luminosity’ columnprint(stars[’Luminosity(L/Lo)’].max())

I Prints min of ’Temperature’ column and store it in temp variableminTempK = stars[’Temperature (K)’].min()

print(minTempK)I Use astropy to convert temp variable to Fahrenheit and print

KUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I groupby ’Star Type’ and take averages, then print max of ’Radius’columnprint(stars.groupby([’Star type’])\.mean()[’Radius(R/Ro)’].max())

CSci 127 (Hunter) Lecture 6 Summer 2020 33 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)Process:

I Print max of ’Luminosity’ columnprint(stars[’Luminosity(L/Lo)’].max())

I Prints min of ’Temperature’ column and store it in temp variableminTempK = stars[’Temperature (K)’].min()

print(minTempK)I Use astropy to convert temp variable to Fahrenheit and print

KUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I OR groupby ’Star Type’ and get group ’Hypergiant’ to printaverage ’Radius’print(stars.groupby([’Star type’])\.get group(’Hypergiant’).mean()[’Radius(R/Ro)’])

CSci 127 (Hunter) Lecture 6 Summer 2020 34 / 35

Design Challenge - Code

Libraries: pandas and astropyimport pandas as pd

import astropy.units as u

stars = pd.read csv(’Stars.csv’)Process:

I Print max of ’Luminosity’ columnprint(stars[’Luminosity(L/Lo)’].max())

I Prints min of ’Temperature’ column and store it in temp variableminTempK = stars[’Temperature (K)’].min()

print(minTempK)I Use astropy to convert temp variable to Fahrenheit and print

KUnit = minTempK * u.K

print(KUnit.to(u.imperial.deg F, equivalencies = \u.temperature()))

I OR groupby ’Star Type’ and get group ’Hypergiant’ to printaverage ’Radius’print(stars.groupby([’Star type’])\.get group(’Hypergiant’).mean()[’Radius(R/Ro)’])

CSci 127 (Hunter) Lecture 6 Summer 2020 34 / 35

Recap

Recap: Logical Expressions & Circuits

Accessing Formatted Data:

I Pandas library has elegant solutions foraccessing & analyzing structured data.

I Can manipulate individual columns orrows (’Series’).

I Has useful functions for the entiresheet (’DataFrame’) such as plotting.

Log in to Gradescope for Quiz 6.

CSci 127 (Hunter) Lecture 6 Summer 2020 35 / 35

Recap

Recap: Logical Expressions & Circuits

Accessing Formatted Data:

I Pandas library has elegant solutions foraccessing & analyzing structured data.

I Can manipulate individual columns orrows (’Series’).

I Has useful functions for the entiresheet (’DataFrame’) such as plotting.

Log in to Gradescope for Quiz 6.

CSci 127 (Hunter) Lecture 6 Summer 2020 35 / 35

Recap

Recap: Logical Expressions & Circuits

Accessing Formatted Data:

I Pandas library has elegant solutions foraccessing & analyzing structured data.

I Can manipulate individual columns orrows (’Series’).

I Has useful functions for the entiresheet (’DataFrame’) such as plotting.

Log in to Gradescope for Quiz 6.

CSci 127 (Hunter) Lecture 6 Summer 2020 35 / 35

Recap

Recap: Logical Expressions & Circuits

Accessing Formatted Data:

I Pandas library has elegant solutions foraccessing & analyzing structured data.

I Can manipulate individual columns orrows (’Series’).

I Has useful functions for the entiresheet (’DataFrame’) such as plotting.

Log in to Gradescope for Quiz 6.

CSci 127 (Hunter) Lecture 6 Summer 2020 35 / 35

Recap

Recap: Logical Expressions & Circuits

Accessing Formatted Data:

I Pandas library has elegant solutions foraccessing & analyzing structured data.

I Can manipulate individual columns orrows (’Series’).

I Has useful functions for the entiresheet (’DataFrame’) such as plotting.

Log in to Gradescope for Quiz 6.

CSci 127 (Hunter) Lecture 6 Summer 2020 35 / 35

top related