zoukankan      html  css  js  c++  java
  • Python Data Science Toolbox Part 1 Learning 1

    User-defined functions

    from:https://campus.datacamp.com/courses/python-data-science-toolbox-part-1/writing-your-own-functions?ex=1

    • Strings in Python

     To assign the string

    company = 'DataCamp'

    You've also learned to use the operations + and * with strings. Unlike with numeric types such as ints and floats, the + operator concatenates strings together, while the * concatenates multiple copies of a string together. In this exercise, you will use the + and * operations on strings to answer the question below. Execute the following code in the shell:

    object1 = "data" + "analysis" + "visualization"
    object2 = 1 * 3
    object3 = "1" * 3

    ->object1 contains "dataanalysisvisualization"object2contains 3object3 contains "111".

    • Recapping built-in functions

    • Assign str(x) to a variable y1y1 = str(x)
    • Assign print(x) to a variable y2y2 = print(x)
    • Check the types of the variables xy1, and y2.

    ->x is a floaty1 is a str, and y2 is a NoneType.

     It is important to remember that assigning a variable y2 to a function that prints a value but does not return a value will results in that variable y2 being oftype NoneType.

    • Write a simple function

     You can use it as a pattern to define shout().

    def square():
        new_value = 4 ** 2
        return new_value

    # Define the function shout
    def shout():
    """Print a string with three exclamation marks"""
    # Concatenate the strings: shout_word
    shout_word = 'congratulations'+ '!!!'

    # Print shout_word
    print(shout_word)

    # Call shout
    shout()

    • Single-parameter functions

    You will now update shout() by adding a parameter so that it can accept and process any string argument passed to it.

    # Define shout with the parameter, word
    def shout(word):
    """Print a string with three exclamation marks"""
    # Concatenate the strings: shout_word
    shout_word = str(word) + '!!!'

    # Print shout_word
    print(shout_word)

    # Call shout with the string 'congratulations'
    shout('congratulations')

    • Functions that return single values

    You're getting very good at this! Try your hand at another modification to the shout() function so that it now returns a single value instead of printing within the function. Recall that thereturn keyword lets you return values from functions.

    # Define shout with the parameter, word
    def shout(word):
    """Return a string with three exclamation marks"""
    # Concatenate the strings: shout_word
    shout_word = str(word) + '!!!'

    # Replace print with return
    return shout_word

    # Pass 'congratulations' to shout: yell
    yell = shout('congratulations')

    # Print yell
    print(yell)

    Multiple parameters and return values

    • Functions with multiple parameters

    Here, you will modify shout() to accept two arguments. 

    # Define shout with parameters word1 and word2
    def shout(word1,word2):
    """Concatenate strings with three exclamation marks"""
    # Concatenate word1 with '!!!': shout1
    shout1 = word1 + '!!!'

    # Concatenate word2 with '!!!': shout2
    shout2 = word2 + '!!!'

    # Concatenate shout1 with shout2: new_shout
    new_shout = shout1 + shout2

    # Return new_shout
    return new_shout

    # Pass 'congratulations' and 'you' to shout(): yell
    yell = shout('congratulations', 'you')

    # Print yell
    print(yell)

    • A brief introduction to tuples

    how to construct, unpack, and access tuple elements. 

    a, b, c = even_nums

    # Unpack nums into num1, num2, and num3
    print(nums)
    num1, num2, num3 = (3, 4, 6)

    # Construct even_nums
    print(nums)
    nums = (2, 4, 6)
    print(nums)
    even_nums = nums
    print(even_nums)

    • Function that return multiple values

     Here you will return multiple values from a function using tuples.

    Note that the return statement return x, y has the same result as return (x, y): the former actually packs x and yinto a tuple under the hood!

    # Define shout_all with parameters word1 and word2
    def shout_all(word1, word2):

    # Concatenate word1 with '!!!': shout1
    shout1 = word1 + '!!!'

    # Concatenate word2 with '!!!': shout2
    shout2 = word2 + '!!!'

    # Construct a tuple with shout1 and shout2: shout_words
    shout_words = (shout1, shout2)

    # Return shout_words
    return shout_words

    # Pass 'congratulations' and 'you' to shout_all(): yell1, yell2
    yell1, yell2 = shout_all('congratulations','you')

    # Print yell1 and yell2
    print(yell1)
    print(yell2)

    Bringing it all together

    • Bringing it all together (1)

    You've learned how to add parameters to your own function definitions, return a value or multiple values with tuples, and how to call the functions you've defined.

    For this exercise, your goal is to recall how to load a dataset into a DataFrame. The dataset contains Twitter data and you will iterate over entries in a column to build a dictionary in which the keys are the names of languages and the values are the number of tweets in the given language. The file tweets.csv is available in your current directory.

    # Import pandas
    import pandas as pd

    # Import Twitter data as DataFrame: df
    df = pd.read_csv('tweets.csv')

    # Initialize an empty dictionary: langs_count
    langs_count = {}

    # Extract column from DataFrame: col
    col = df['lang']

    # Iterate over lang column in DataFrame
    for entry in col:

    # If the language is in langs_count, add 1
    if entry in langs_count.keys():
    langs_count[entry] += 1
    # Else add the language to langs_count, set the value to 1
    else:
    langs_count[entry] = 1

    # Print the populated dictionary
    print(langs_count)

    Great job! You've now defined the functionality for iterating over entries in a column and building a dictionary with keys the names of languages and values the number of tweets in the given language.

    • Bringing it all together (2)

    In this exercise, you will define a function with the functionality you developed in the previous exercise, return the resulting dictionary from within the function, and call the function with the appropriate arguments

    For your convenience, the pandas package has been imported aspd and the 'tweets.csv' file has been imported into thetweets_df variable.

    # Define count_entries()
    def count_entries(df, col_name):
    """Return a dictionary with counts of
    occurrences as value for each key."""

    # Initialize an empty dictionary: langs_count
    langs_count = {}

    # Extract column from DataFrame: col
    col = df[col_name]

    # Iterate over lang column in DataFrame
    for entry in col:

    # If the language is in langs_count, add 1
    if entry in langs_count.keys():
    langs_count[entry] += 1
    # Else add the language to langs_count, set the value to 1
    else:
    langs_count[entry] = 1

    # Return the langs_count dictionary
    return langs_count

    # Call count_entries(): result
    result = count_entries(tweets_df,'lang')

    # Print the result
    print(result)

  • 相关阅读:
    linux 回收站 路径
    Linux 让进程在后台可靠运行的几种方法
    用marquee和div+js实现首尾相连循环滚动效果
    轻型数据库SQLite结合PHP的开发
    linux系统权限修复——学生误操作!
    2009级 毕业设计 题目
    linux下硬盘uuid查看及修改设置
    创建网站地图
    用上下左右箭头键在textbox中的光标跳转
    SHELL中时间的比较
  • 原文地址:https://www.cnblogs.com/keepSmile/p/7798580.html
Copyright © 2011-2022 走看看