Saturday, 24 August 2024

Phone Number Handling in Python

 

1. Parse and Format a Phone Number

This program parses a phone number and formats it in the international format.


import phonenumbers

from phonenumbers import PhoneNumberFormat, format_number


phone_number = phonenumbers.parse("+14155552671", "US")


formatted_number = format_number(phone_number, PhoneNumberFormat.INTERNATIONAL)


print(f"Formatted Number: {formatted_number}")

Formatted Number: +1 415-555-2671

2. Validate a Phone Number

This program checks whether a phone number is valid or not.


import phonenumbers


phone_number = phonenumbers.parse("+14155552671", "US")


is_valid = phonenumbers.is_valid_number(phone_number)


print(f"Is the phone number valid? {'Yes' if is_valid else 'No'}")

Is the phone number valid? Yes


3. Get the Location of a Phone Number

This program retrieves the location associated with a phone number.


import phonenumbers

from phonenumbers import geocoder


phone_number = phonenumbers.parse("+14155552671", "US")


location = geocoder.description_for_number(phone_number, "en")


print(f"Location: {location}")


#source Code --> clcoding.com

Location: San Francisco, CA

4. Carrier Detection

This program detects the carrier of a given phone number.


import phonenumbers

from phonenumbers import carrier


phone_number = phonenumbers.parse("+14155552671", "US")


phone_carrier = carrier.name_for_number(phone_number, "en")


print(f"Carrier: {phone_carrier}")


#source Code --> clcoding.com

Carrier: 


5. Time Zone Detection

This program retrieves the time zones associated with a phone number.


import phonenumbers

from phonenumbers import timezone


phone_number = phonenumbers.parse("+14155552671", "US")


time_zones = timezone.time_zones_for_number(phone_number)


print(f"Time Zones: {', '.join(time_zones)}")


#source Code --> clcoding.com

Time Zones: America/Los_Angeles

Python Coding challenge - Day 241 | What is the output of the following Python Code?


Code:

a = [1, 2, 3]

b = a

a.append(4)

print(b)

Solution and Explanantion: 

 a = [1, 2, 3]:

This line creates a list a with elements [1, 2, 3].

b = a:

Here, b is not a new list but a reference to the same list object that a refers to. In Python, variables that hold lists (and other mutable objects) actually hold references to the memory location where the list is stored. So, b now refers to the same list as a.

a.append(4):

This line adds the element 4 to the end of the list a. Since a and b refer to the same list, this modification affects both a and b.

print(b):

Since b refers to the same list as a, the output will show the modified list [1, 2, 3, 4].

Final Output:

[1, 2, 3, 4]

The key concept here is that a and b are references to the same list in memory, so changes to the list via one variable are reflected in the other.

Fetching and Displaying Periodic Table Data in Python


 Periodic Table Data in Python

pip install chempy


from chempy.util import periodic


n = int(input("Enter number to see the table: "))

print("Atomic No.\tName\t\tSymbol\t\tMass")


for i in range(1, n + 1):

    print(i, end="\t\t")

    if len(periodic.names[i]) > 7:

        print(periodic.names[i], end="\t")

    else:

        print(periodic.names[i], end="\t\t")

    print(periodic.symbols[i], end="\t\t")

    print(periodic.relative_atomic_masses[i])

#source code --> clcoding.com

Atomic No. Name Symbol Mass

1 Helium He 4.002602

2 Lithium Li 6.94

3 Beryllium Be 9.0121831

4 Boron B 10.81

5 Carbon C 12.011

6 Nitrogen N 14.007

7 Oxygen O 15.999

8 Fluorine F 18.998403163

9 Neon Ne 20.1797

10 Sodium Na 22.98976928

11 Magnesium Mg 24.305

12 Aluminium Al 26.9815384

13 Silicon Si 28.085

14 Phosphorus P 30.973761998

15 Sulfur S 32.06

16 Chlorine Cl 35.45

17 Argon Ar 39.95

18 Potassium K 39.0983

19 Calcium Ca 40.078

20 Scandium Sc 44.955908

Friday, 23 August 2024

IP Address Manipulation with Python



1. Check if an IP Address is Private

This program checks whether an IP address belongs to a private range.


import ipaddress


def check_private_ip(ip):

    try:

        ip_obj = ipaddress.ip_address(ip)

        return ip_obj.is_private

    except ValueError:

        return False


ip = "192.168.0.1"

print(f"Is {ip} private? {check_private_ip(ip)}")


#source code --> clcoding.com

Is 192.168.0.1 private? True


2. Calculate the Network Range from a CIDR Notation

This program calculates the network range from a given CIDR notation.


import ipaddress


def get_network_range(cidr):

    try:

        network = ipaddress.ip_network(cidr, strict=False)

        return (network.network_address, network.broadcast_address)

    except ValueError:

        return None


cidr = "192.168.1.0/24"

network_range = get_network_range(cidr)

if network_range:

    print(f"Network range: {network_range[0]} - {network_range[1]}")


#source code --> clcoding.com

Network range: 192.168.1.0 - 192.168.1.255


3. Check if an IP Address is in a Specific Network

This program checks if a given IP address is part of a specified network.


import ipaddress


def ip_in_network(ip, network):

    try:

        network_obj = ipaddress.ip_network(network, strict=False)

        ip_obj = ipaddress.ip_address(ip)

        return ip_obj in network_obj

    except ValueError:

        return False


ip = "192.168.1.10"

network = "192.168.1.0/24"

print(f"Is {ip} in network {network}? {ip_in_network(ip, network)}")


#source code --> clcoding.com

Is 192.168.1.10 in network 192.168.1.0/24? True


4. Generate All IP Addresses in a Network

This program generates all possible IP addresses within a given network.


import ipaddress


def generate_ips_in_network(network):

    try:

        network_obj = ipaddress.ip_network(network, strict=False)

        return [str(ip) for ip in network_obj.hosts()]

    except ValueError:

        return []


network = "192.168.1.0/30"

ips = generate_ips_in_network(network)

print(f"IP addresses in {network}: {ips}")


#source code --> clcoding.com

IP addresses in 192.168.1.0/30: ['192.168.1.1', '192.168.1.2']


5. Convert Integer to IPv4 Address

This program converts an integer back to its corresponding IPv4 address.


import ipaddress


def int_to_ipv4(integer):

    try:

        return str(ipaddress.IPv4Address(integer))

    except ValueError:

        return None


ipv4_int = 3232235777

print(f"Integer: {ipv4_int} -> IPv4: {int_to_ipv4(ipv4_int)}")


#source code --> clcoding.com

Integer: 3232235777 -> IPv4: 192.168.1.1

Wireframes and Surface Plots in Python

 

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D


x = np.linspace(-5, 5, 50); y = np.linspace(-5, 5, 50)

X, Y = np.meshgrid(x, y)

Z = np.sin(np.sqrt(X**2 + Y**2))


fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

ax.plot_wireframe(X, Y, Z, color='blue')


ax.set_xlabel('X axis',); ax.set_ylabel('Y axis')

ax.set_zlabel('Z axis')

plt.show()

#source Code --> clcoding.com


import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D


x = np.linspace(-5, 5, 50); y = np.linspace(-5, 5, 50)

X, Y = np.meshgrid(x, y)

Z = np.sin(np.sqrt(X**2 + Y**2))


fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

surface = ax.plot_surface(X, Y, Z, cmap='viridis')

fig.colorbar(surface, ax=ax, shrink=0.5, aspect=5)


ax.set_xlabel('X axis'); ax.set_ylabel('Y axis')

ax.set_zlabel('Z axis')

plt.show()

Wednesday, 21 August 2024

10 Essential Use Cases of Python's zip() Function with Examples

 

1. Combining Two Lists

Use case: Merging two lists element-wise.

names = ["Alice", "Bob", "Charlie"]

ages = [25, 30, 35]


combined = list(zip(names, ages))

print(combined)  

[('Alice', 25), ('Bob', 30), ('Charlie', 35)]

2. Unzipping Lists

Use case: Splitting paired data into separate lists.


combined = [('Alice', 25), ('Bob', 30), ('Charlie', 35)]


names, ages = zip(*combined)

print(names)  

print(ages)   

('Alice', 'Bob', 'Charlie')

(25, 30, 35)



3. Iterating Over Multiple Lists Simultaneously

Use case: Useful when you need to iterate through multiple lists at the same time.


subjects = ['Math', 'Science', 'English']

scores = [88, 92, 85]


for subject, score in zip(subjects, scores):

    print(f"{subject}: {score}")

Math: 88

Science: 92

English: 85

4. Creating Dictionaries

Use case: Creating dictionaries from two lists: one for keys, one for values.


keys = ['name', 'age', 'city']

values = ['Alice', 25, 'New York']


dictionary = dict(zip(keys, values))

print(dictionary)  

{'name': 'Alice', 'age': 25, 'city': 'New York'}


5. Combining Multiple Lists

Use case: Zipping more than two lists together.


list1 = [1, 2, 3]

list2 = ['a', 'b', 'c']

list3 = [True, False, True]


combined = list(zip(list1, list2, list3))

print(combined)  

[(1, 'a', True), (2, 'b', False), (3, 'c', True)]

6. Handling Different Length Iterables

Use case: When lists have different lengths, zip() stops at the shortest one.


list1 = [1, 2, 3]

list2 = ['a', 'b']


combined = list(zip(list1, list2))

print(combined)  

[(1, 'a'), (2, 'b')]



7. Working with Ranges

Use case: Zipping together ranges or sequences.


numbers = range(1, 4)

letters = ['a', 'b', 'c']


result = list(zip(numbers, letters))

print(result)  

[(1, 'a'), (2, 'b'), (3, 'c')]

8. Comparing Elements of Two Lists

Use case: Zipping two lists to compare elements.


list1 = [1, 2, 3]

list2 = [1, 4, 3]


comparison = [a == b for a, b in zip(list1, list2)]

print(comparison)

[True, False, True]



9. Transpose a Matrix

Use case: Use zip() to transpose rows and columns of a 2D matrix.


matrix = [

    [1, 2, 3],

    [4, 5, 6],

    [7, 8, 9]

]


transposed = list(zip(*matrix))

print(transposed) 

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

10. Zipping with Enumerate

Use case: Zipping with an enumerated list for indexed pairings.


data = ['apple', 'banana', 'cherry']

indexed_data = list(zip(range(1, len(data) + 1), data))

print(indexed_data)  

[(1, 'apple'), (2, 'banana'), (3, 'cherry')]

Tuesday, 20 August 2024

How to Use Python f-Strings?

 

Basic Usage

Here's a basic example of using f-strings:


name = "Alice"

age = 30


greeting = f"Hello, my name is {name} and I am {age} years old."

print(greeting)

Hello, my name is Alice and I am 30 years old.

Embedding Expressions

You can also embed expressions directly inside f-strings:


length = 5

width = 3


area = f"The area of the rectangle is {length * width} square units."

print(area)

The area of the rectangle is 15 square units.



Formatting Numbers

F-strings also allow you to format numbers:


pi = 3.141592653589793


formatted_pi = f"Pi rounded to two decimal places is {pi:.2f}."

print(formatted_pi)

Pi rounded to two decimal places is 3.14.

Using Functions Inside F-Strings

You can even call functions within an f-string:


def greet(name):

    return f"Hello, {name}!"


message = f"{greet('Alice')}"

print(message)

Hello, Alice!



Multi-line F-Strings

F-strings can also be used with multi-line strings:


name = "Alice"

age = 30


info = (

    f"Name: {name}\n"

    f"Age: {age}\n"

    f"Location: Wonderland"

)

print(info)

Name: Alice

Age: 30

Location: Wonderland



Combining F-Strings with Other String Formatting

F-strings can be combined with other string formatting methods if necessary:


name = "Alice"

age = 30


combined = f"Name: {name}, " + "Age: {}".format(age)

print(combined)

Name: Alice, Age: 30

Monday, 19 August 2024

8 Levels of Writing Python Functions

 Level 1: Basic Function Definition

Goal: Learn how to define simple functions with def.


def greet():

    return "Hello, World!"

Concepts: Function definition, return statement, and basic usage.


Level 2: Function Arguments

Goal: Understand how to pass data to functions using arguments.


def greet(name):

    return f"Hello, {name}!"

Concepts: Positional arguments, basic string formatting.


Level 3: Default Arguments

Goal: Use default argument values to make functions more flexible.

def greet(name="World"):

    return f"Hello, {name}!"

Concepts: Default values, handling optional parameters.


Level 4: Variable-Length Arguments

Goal: Handle an arbitrary number of arguments using args and *kwargs.


def greet(*names):

    return "Hello, " + ", ".join(names) + "!"

Concepts: args for positional arguments, *kwargs for keyword arguments.


Level 5: Return Multiple Values

Goal: Return multiple values from a function using tuples.

def divide(a, b):

    quotient = a // b

    remainder = a % b

    return quotient, remainder

    

Concepts: Tuple unpacking, returning multiple values.


Level 6: First-Class Functions

Goal: Treat functions as first-class citizens by passing them as arguments or returning them.


def apply_function(func, value):

    return func(value)


def square(x):

    return x * x


result = apply_function(square, 5)

Concepts: Functions as arguments, higher-order functions.


Level 7: Lambda Functions

Goal: Use lambda expressions for short, unnamed functions.


def apply_function(func, value):

    return func(value)


result = apply_function(lambda x: x * x, 5)

Concepts: Lambda expressions, anonymous functions.


Level 8: Decorators

Goal: Modify the behavior of functions using decorators.

def decorator(func):

    def wrapper(*args, **kwargs):

        print("Before the function")

        result = func(*args, **kwargs)

        print("After the function")

        return result

    return wrapper


@decorator

def greet(name):

    return f"Hello, {name}!"


greet("World")

Before the function

After the function

'Hello, World!'

Concepts: Decorators, wrapping functions, modifying behavior.

Sunday, 18 August 2024

Pencil Sketch using Python

 

import cv2

import numpy as np


def pencil_sketch(image_path, output_path):

    image = cv2.imread(image_path)


    gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)


    inverted_gray_image = cv2.bitwise_not(gray_image)


    blurred_image = cv2.GaussianBlur(inverted_gray_image, (21, 21), 0)


    inverted_blurred_image = cv2.bitwise_not(blurred_image)

    pencil_sketch_image = cv2.divide(gray_image, inverted_blurred_image, scale=256.0)

    cv2.imwrite(output_path, pencil_sketch_image)

 

    cv2.imshow('Pencil Sketch', pencil_sketch_image)

    cv2.waitKey(0)

    cv2.destroyAllWindows()


input_image_path = 'w2.jpg'

output_image_path = 'w2_sketch.jpg'

pencil_sketch(input_image_path, output_image_path)

World map using Python

 

pip install cartopy


import cartopy.crs as ccrs

import cartopy.feature as cfeature

import matplotlib.pyplot as plt


projection = ccrs.PlateCarree()


fig, ax = plt.subplots(subplot_kw={'projection': projection})

ax.set_extent([-180, 180, -90, 90], crs=ccrs.PlateCarree())


ax.add_feature(cfeature.LAND, facecolor='lightgray')

ax.add_feature(cfeature.OCEAN, facecolor='lightblue')


ax.gridlines()

plt.show()


Movie Information using Python

 

import imdb


ia = imdb.Cinemagoer()

Movie = input("Enter a movie name: ")

items = ia.search_movie(Movie)

print("\nSearch results:")

for index, movie in enumerate(items):

    print(f"{index + 1}. {movie['title']} ({movie['year']})")


movie_index = int(input("\nEnter the number of the movie you want to get info for: ")) - 1

movie_id = items[movie_index].movieID

movie_info = ia.get_movie(movie_id)


print("\nMovie Information:")

print(f"Title: {movie_info.get('title')}")

print(f"Year: {movie_info.get('year')}")

print(f"Rating: {movie_info.get('rating')}")

print(f"Genres: {', '.join(movie_info.get('genres', []))}")

print(f"Director(s): {', '.join(str(d) for d in movie_info.get('directors', []))}")

print(f"Cast: {', '.join(str(c) for c in movie_info.get('cast', [])[:5])}...") 

print(f"Plot: {movie_info.get('plot outline')}")

print(f"Runtime: {movie_info.get('runtimes', ['N/A'])[0]} minutes")

print(f"Country: {', '.join(movie_info.get('countries', []))}")

print(f"Language: {', '.join(movie_info.get('languages', []))}")


#Source Code --> clcoding.com

Search results:

1. Lift (2024)

2. Elevator to the Gallows (1958)

3. Lift (2021)

4. The Lift (1983)

5. Lift (2001)

6. The Big Lift (1950)

7. Lift (2022)

8. Lift (2016)

9. Lift Off (1992)

10. How Heavy Are the Dumbbells You Lift? (2019)

11. Lift (1989)

12. Lift Me Up (2015)

13. The Lift Boy (2019)

14. Lift (2019)

15. Lift (2017)

16. Lift (2018)

17. The Lift (2022)

18. Lift Off (1969)

19. LIFT (2019)

20. Lift Off (2021)

Movie Information:

Title: Lift

Year: 2024

Rating: 5.5

Genres: Action, Comedy, Crime, Drama, Thriller

Director(s): F. Gary Gray

Cast: Kevin Hart, Gugu Mbatha-Raw, Sam Worthington, Vincent D'Onofrio, Úrsula Corberó...

Plot: Cyrus, an international thief and his crew specialize in stealing extremely costly art pieces and resort to kidnapping if necessary. Cyrus's ex girlfriend Abby, an Interpol agent convinces him to steal a huge consignment of gold being sent by plane from London to Zurich in return for immunity from arrest . Cyrus knows this is an almost impossible task but decides to go ahead since it means freedom for him and his crew not to speak of his getting together with Abby again.

Runtime: 107 minutes

Country: United States

Language: English, Italian

 

Saturday, 17 August 2024

Top 5 Python Programs Using demoji for Emoji Processing

 1. Remove Emojis from a Text String

This program removes all emojis from a given text string.


import demoji

text = "Python is fun! 🐍🔥 Let's code! 💻🎉"

cleaned_text = demoji.replace(text, "")

print(cleaned_text)

#source Code --> clcoding.com

Python is fun!  Let's code! 

2. Replace Emojis with Descriptions

This program replaces emojis in a text with their corresponding descriptions.


import demoji

text = "Good morning! ☀️ Have a nice day! 🌸😊"

emojis = demoji.findall(text)

for emoji, description in emojis.items():

    text = text.replace(emoji, f"[{description}]")

print(text)

#source Code --> clcoding.com

Good morning! [sun] Have a nice day! [cherry blossom][smiling face with smiling eyes]

3. Count the Number of Emojis in a Text

This program counts how many emojis are present in a text string.


import demoji

text = "Coding is awesome! 👨‍💻🚀🤓"

emoji_count = len(demoji.findall(text))

print(f"Number of emojis: {emoji_count}")

#source Code --> clcoding.com

Number of emojis: 3

4. Extract All Emojis from a Text

This program extracts all the emojis from a given text string.


import demoji

text = "Enjoy your meal! 🍽️🍕🍔🍟"

emojis = demoji.findall(text)

print("Emojis found:", list(emojis.keys()))

#source Code --> clcoding.com

Emojis found: ['🍕', '🍽️', '🍟', '🍔']

5. Create an Emoji Frequency Dictionary

This program creates a dictionary that maps each emoji in a text to the number of times it appears.


import demoji

text = "I love 🍎 and 🍌. Do you like 🍎 too? 🍎🍎"

emoji_freq = {}

emojis = demoji.findall(text)

for emoji in emojis.keys():

    emoji_freq[emoji] = text.count(emoji)

print("Emoji Frequency:", emoji_freq)

#source Code --> clcoding.com

Emoji Frequency: {'🍌': 1, '🍎': 4}

Python Coding challenge - Day 240 | What is the output of the following Python Code?

 

def func(x=[]):

    x.append(1)

    return x

print(func())

print(func())

Solution and Explanation: B is the correct answer

Default Argument Behavior:

The default argument x=[] is evaluated only once when the function is defined, not each time the function is called. This means that if the default value is a mutable object like a list, it will be shared across all calls to the function.

First Function Call (print(func())):

The first time func() is called, the list x is empty because the default value ([]) is used.
Inside the function, 1 is appended to the list, so x becomes [1].
The function returns this list, which is then printed, so the output is:

Second Function Call (print(func())):

The second time func() is called, the same list x from the previous call is used, not a new empty list.
Again, 1 is appended to this list, so x becomes [1, 1].
The function returns this list, which is then printed, so the output is:
[1, 1]

Mutable Default Arguments: In Python, using a mutable object (like a list or dictionary) as a default argument can lead to unexpected behavior because it persists across function calls.
Best Practice: To avoid this, use None as the default value and then initialize the mutable object inside the function if needed.

Friday, 16 August 2024

Enhancing Python Scripts with Alive-Progress: 5 Practical Examples

 pip install alive-progress


1. Simple Progress Bar

from alive_progress import alive_bar

import time

items = range(100)

with alive_bar(len(items)) as bar:

    for item in items:

        time.sleep(0.05)  

        bar()

|████████████████████████████████████████| 100/100 [100%] in 5.0s (19.83/s) 

2. Progress Bar with Custom Text

from alive_progress import alive_bar

import time


tasks = ['task1', 'task2', 'task3', 'task4']


with alive_bar(len(tasks), title='Processing Tasks') as bar:

    for task in tasks:

        time.sleep(0.5)  

        bar.text = f'Working on {task}'

        bar()

Processing Tasks |████████████████████████████████████████| 4/4 [100%] in 2.0s (2.00/s) 


3. Nested Progress Bars

from alive_progress import alive_bar

import time

outer_items = range(3)

inner_items = range(5)


with alive_bar(len(outer_items) * len(inner_items), title='Processing') as bar:

    for _ in outer_items:

        for _ in inner_items:

            time.sleep(0.1)  # Simulate work

            bar()

Processing |████████████████████████████████████████| 15/15 [100%] in 1.5s (9.94/s) 



4. Download Simulation with Progress Bar

from alive_progress import alive_bar

import time

file_size = 1024  

chunk_size = 64

with alive_bar(file_size // chunk_size, title='Downloading') as bar:

    for _ in range(0, file_size, chunk_size):

        time.sleep(0.1) 

        bar()

Downloading |████████████████████████████████████████| 16/16 [100%] in 1.6s (9.83/s) 

5. Progress Bar with Percentage and ETA

from alive_progress import alive_bar

import time

total_items = 50

with alive_bar(total_items, title='Processing', 

               spinner='dots_waves', bar='smooth') as bar:

    for _ in range(total_items):

        time.sleep(0.1)  

        bar()

Processing |████████████████████████████████████████| 50/50 [100%] in 5.0s (9.95/s) 

Thursday, 15 August 2024

Check Internet Speed using Python

 

pip install speedtest-cli


import speedtest as st


def Speed_Test():

    test = st.Speedtest()

    

    down_speed = test.download()

    down_speed = round(down_speed / 10**6, 2)

    print("Download Speed in Mbps: ", down_speed)

 

    up_speed = test.upload()

    up_speed = round(up_speed / 10**6, 2)

    print("Upload Speed in Mbps: ", up_speed)

    

    ping = test.results.ping

    print("Ping: ", ping)

Speed_Test()


#source code -> clcoding.com

Download Speed in Mbps:  20.57

Upload Speed in Mbps:  18.47

Ping:  26.177

Happy Independence Day India

 

import numpy as np

import matplotlib.pyplot as py

import matplotlib.patches as patch


a = patch.Rectangle((0,1), width=9, height=2, facecolor='#138808', edgecolor='grey')

b = patch.Rectangle((0,3), width=9, height=2, facecolor='#ffffff', edgecolor='grey')

c = patch.Rectangle((0,5), width=9, height=2, facecolor='#FF6103', edgecolor='grey')

m,n = py.subplots()

n.add_patch(a)

n.add_patch(b)

n.add_patch(c)


radius=0.8

py.plot(4.5,4, marker = 'o', markerfacecolor = '#000080', markersize = 9.5)

chakra = py.Circle((4.5, 4), radius, color='#000080', fill=False, linewidth=7)

n.add_artist(chakra)


for i in range(0,24):

   p = 4.5 + radius/2 * np.cos(np.pi*i/9 + np.pi/48)

   q = 4.5 + radius/2 * np.cos(np.pi*i/9 - np.pi/48)

   r = 4 + radius/2 * np.sin(np.pi*i/9 + np.pi/48)

   s = 4 + radius/2 * np.sin(np.pi*i/9 - np.pi/48)

   t = 4.5 + radius * np.cos(np.pi*i/9)

   u = 4 + radius * np.sin(np.pi*i/9)

   n.add_patch(patch.Polygon([[4.5,4], [p,r], [t,u],[q,s]], fill=True, 

                             closed=True, color='#000080'))

py.axis('equal')

py.show() 

#clcoding.com

Saturday, 10 August 2024

Definite Integration using Python

 

import sympy as sp


x = sp.Symbol('x')

f = input("Enter the function(in terms of x):")


F_indefinite = sp.integrate(f, x)

print("Indefinite integral ∫f(x) dx =", F_indefinite)


a = float(input("Enter the lower limit of integration: "))

b = float(input("Enter the upper limit of integration: "))


F_definite = sp.integrate(f, (x, a, b))

print(f"Definite integral ∫f(x) dx from {a} to {b} =", F_definite)


#clcoding.com

Indefinite integral ∫f(x) dx = x**3/3 + 3*x

Definite integral ∫f(x) dx from 9.0 to 27.0 = 6372.00000000000

Friday, 9 August 2024

5 Hidden Gems in Pandas You Should Start Using Today

1. query() Method for Filtering Data
What it is: The query() method allows you to filter data in a DataFrame using a more readable and concise string-based expression.

Why it's useful: It avoids the verbosity of standard indexing and makes the code more readable, especially for complex conditions.

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4], 
                   'B': [10, 20, 30, 40]})
result = df.query('A > 2 & B < 40')
print(result)

#clcoding.com
   A   B
2  3  30
2. eval() Method for Efficient Calculations
What it is: The eval() method evaluates a string expression within the context of a DataFrame, allowing for efficient computation.

Why it's useful: It can speed up operations involving arithmetic or logical operations on DataFrame columns, especially with large datasets.

df['C'] = df.eval('A + B')
print(df)

#clcoding.com
   A   B   C
0  1  10  11
1  2  20  22
2  3  30  33
3  4  40  44


3. at and iat for Fast Access
What it is: at and iat are optimized methods for accessing scalar values in a DataFrame.

Why it's useful: These methods are much faster than using .loc[] or .iloc[] for individual cell access, making them ideal for performance-critical code.

value = df.at[2, 'B']  
print(value)
#clcoding.com
30

4. pipe() Method for Method Chaining
What it is: The pipe() method allows you to apply a function or sequence of functions to a DataFrame within a method chain.

Why it's useful: It improves code readability by keeping the DataFrame operations within a single fluent chain.

def add_constant(df, value):
    return df + value

df = df.pipe(add_constant, 10)
print(df)

#clcoding.com
    A   B   C
0  11  20  21
1  12  30  32
2  13  40  43
3  14  50  54
5. explode() for Expanding Lists in Cells
What it is: The explode() method expands a list-like column into separate rows.

Why it's useful: This is particularly useful when working with data that has embedded lists within cells and you need to analyze or visualize each item individually.

df = pd.DataFrame({'A': [1, 2], 
                   'B': [[10, 20, 30], [40, 50]]})
df_exploded = df.explode('B')
print(df_exploded)

#clcoding.com
   A   B
0  1  10
0  1  20
0  1  30
1  2  40
1  2  50



Thursday, 8 August 2024

Find Weather using Python

 


pip install beautifulsoup4


import requests

from bs4 import BeautifulSoup


city = input("Enter City Name: ")

city_formatted = city.lower().replace(" ", "-")


url = f"https://www.timeanddate.com/weather/{city_formatted}"

response = requests.get(url)


soup = BeautifulSoup(response.text, 'html.parser')


try:

    temperature = soup.find("div", class_="h2").get_text(strip=True)

    description = soup.find("div", class_="h2").find_next("p").get_text(strip=True)


    print(f"Weather in {city}:")

    print(f"Temperature: {temperature}")

    print(f"Condition: {description}")


except AttributeError:

    print("Please check the city name and try again.")

#clcoding.com

Please check the city name and try again.

 

 

Wednesday, 7 August 2024

Find current position of a Planet using Python

 

pip install astropy

from astropy.coordinates import get_body, EarthLocation
from astropy.time import Time

now = Time.now()

location = EarthLocation.of_site('greenwich')

planet_name = input("Enter the name of the planet: ").lower()

planet_position = get_body(planet_name, now, location)

print(f"{planet_name.capitalize()} "
      f"Position: RA = {planet_position.ra}, "
      f"Dec = {planet_position.dec}")

#clcoding.com
Mercury Position: RA = 153.76036137226643 deg, Dec = 6.265761309328344 deg
 

Create a map using Python

 

pip install folium

import folium
from IPython.display import display

map_center = [40.7128, -74.0060]
mymap = folium.Map(location=map_center, zoom_start=12)

folium.Marker(
    [40.7128, -74.0060],  
    popup="New York", 
    icon=folium.Icon(color="blue", icon="info-sign")
).add_to(mymap)

display(mymap)

The above code is used to create and display an interactive map using the folium library in Python, specifically within a Jupyter Notebook environment. Below is a step-by-step explanation of the code:

1. Install the folium library

pip install folium
  • pip install folium: This command installs the folium library, which is used for creating interactive maps with Leaflet.js, a popular JavaScript library for mapping.

2. Import necessary libraries

import folium
from IPython.display import display
  • import folium: This imports the folium library, which allows you to create maps and add various layers and markers to them.
  • from IPython.display import display: This imports the display function from IPython.display, enabling the map to be rendered directly within a Jupyter Notebook.

3. Define the center of the map

map_center = [40.7128, -74.0060]
  • map_center: This variable defines the latitude and longitude coordinates of the center of the map, which in this case is set to New York City (latitude: 40.7128, longitude: -74.0060).

4. Create a folium map object

mymap = folium.Map(location=map_center, zoom_start=12)
  • folium.Map(location=map_center, zoom_start=12): This creates a map centered at the specified location with a zoom level of 12, which gives a city-level view of New York.

5. Add a marker to the map

folium.Marker( 
    [40.7128, -74.0060], 
    popup="New York", 
    icon=folium.Icon(color="blue", icon="info-sign") 
  ).add_to(mymap)
  • folium.Marker([40.7128, -74.0060], popup="New York", 
  • icon=folium.Icon(color="blue", icon="info-sign")): This adds a marker to the map at the specified coordinates (New York City). The marker has a popup label "New York" that appears when the marker is clicked, and the icon is styled with a blue color and an info-sign symbol.
  • .add_to(mymap): This adds the marker to the mymap object.

6. Display the map

display(mymap)
    display(mymap): This displays the map in the Jupyter Notebook.

Summary

This code creates an interactive map centered on New York City, adds a marker with a popup and a custom icon, and displays the map within a Jupyter Notebook.

Popular Posts

Categories

AI (32) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (146) C (77) C# (12) C++ (82) Course (67) Coursera (198) Cybersecurity (24) data management (11) Data Science (106) Data Strucures (8) Deep Learning (13) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (21) Hadoop (3) HTML&CSS (47) IBM (25) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (46) Meta (18) MICHIGAN (5) microsoft (4) Nvidia (1) Pandas (3) PHP (20) Projects (29) Python (888) Python Coding Challenge (285) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (42) UX Research (1) web application (8)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses