【Leetcode 30天Pandas挑戰】學習記錄 下

題目列表:

  • 數據統計:
    • 2082. The Number of Rich Customers
    • 1173. Immediate Food Delivery I
    • 1907. Count Salary Categories
  • 數據分組
    • 1741. Find Total Time Spent by Each Employee
    • 511. Game Play Analysis I
    • 2356. Number of Unique Subjects Taught by Each Teacher
    • 596. Classes More Than 5 Students
    • 586. Customer Placing the Largest Number of Orders
    • 1484. Group Sold Products By The Date(好題)

數據統計:

2082. The Number of Rich Customers

原題鏈接:2082. The Number of Rich Customers

Table: Store

+-------------+------+
| Column Name | Type |
+-------------+------+
| bill_id     | int  |
| customer_id | int  |
| amount      | int  |
+-------------+------+
bill_id is the primary key (column with unique values) for this table.
Each row contains information about the amount of one bill and the customer associated with it.

Write a solution to report the number of customers who had at least one bill with an amount strictly greater than 500 .

The result format is in the following example.

Example 1:

Input:

Store table:
+---------+-------------+--------+
| bill_id | customer_id | amount |
+---------+-------------+--------+
| 6       | 1           | 549    |
| 8       | 1           | 834    |
| 4       | 2           | 394    |
| 11      | 3           | 657    |
| 13      | 3           | 257    |
+---------+-------------+--------+

Output:

+------------+
| rich_count |
+------------+
| 2          |
+------------+

Explanation:
Customer 1 has two bills with amounts strictly greater than 500.
Customer 2 does not have any bills with an amount strictly greater than 500.
Customer 3 has one bill with an amount strictly greater than 500.

題目大意:
統計一下amount大于500的customer的數目,一個customer會有多張單據,需要去重后統計

pandas思路:
nunique() 方法能直接返回去重后的個數

pandas實現:

import pandas as pddef count_rich_customers(store: pd.DataFrame) -> pd.DataFrame:store = store[store['amount'] > 500]return pd.DataFrame({'rich_count': [store['customer_id'].nunique()]})

MySQL思路:
用一下 countdistinct

MySQL實現:

# Write your MySQL query statement below
SELECTCOUNT(DISTINCT customer_id) AS rich_count
FROM Store
WHERE amount > 500



1173. Immediate Food Delivery I

原題鏈接:1173. Immediate Food Delivery I

Table: Delivery

+-----------------------------+---------+
| Column Name                 | Type    |
+-----------------------------+---------+
| delivery_id                 | int     |
| customer_id                 | int     |
| order_date                  | date    |
| customer_pref_delivery_date | date    |
+-----------------------------+---------+
delivery_id is the primary key (column with unique values) of this table.
The table holds information about food delivery to customers that make orders at some date and specify a preferred delivery date (on the same order date or after it).

If the customer’s preferred delivery date is the same as the order date, then the order is called immediate; otherwise, it is called scheduled.

Write a solution to find the percentage of immediate orders in the table, rounded to 2 decimal places.

The result format is in the following example.

Example 1:

Input:

Delivery table:
+-------------+-------------+------------+-----------------------------+
| delivery_id | customer_id | order_date | customer_pref_delivery_date |
+-------------+-------------+------------+-----------------------------+
| 1           | 1           | 2019-08-01 | 2019-08-02                  |
| 2           | 5           | 2019-08-02 | 2019-08-02                  |
| 3           | 1           | 2019-08-11 | 2019-08-11                  |
| 4           | 3           | 2019-08-24 | 2019-08-26                  |
| 5           | 4           | 2019-08-21 | 2019-08-22                  |
| 6           | 2           | 2019-08-11 | 2019-08-13                  |
+-------------+-------------+------------+-----------------------------+

Output:

+----------------------+
| immediate_percentage |
+----------------------+
| 33.33                |
+----------------------+

Explanation: The orders with delivery id 2 and 3 are immediate while the others are scheduled.

題目大意:
計算一個兩個日期相等的條目在整表中所占的比例,保留兩位小數

pandas思路:
保留兩位小數用 round()

pandas實現:

import pandas as pddef food_delivery(delivery: pd.DataFrame) -> pd.DataFrame:tmp = delivery[delivery['order_date'] == delivery['customer_pref_delivery_date']]return pd.DataFrame({'immediate_percentage': [round((tmp.shape[0] / delivery.shape[0] * 100) , 2)]})

MySQL思路:
avg() 計算占比,用round() 保留兩位小數

MySQL實現:

SELECTround( 100 * avg( order_date = customer_pref_delivery_date ), 2 ) AS immediate_percentage 
FROMdelivery



1907. Count Salary Categories

原題鏈接:1907. Count Salary Categories

Table: Accounts

+-------------+------+
| Column Name | Type |
+-------------+------+
| account_id  | int  |
| income      | int  |
+-------------+------+
account_id is the primary key (column with unique values) for this table.
Each row contains information about the monthly income for one bank account.

Write a solution to calculate the number of bank accounts for each salary category. The salary categories are:

  • “Low Salary”: All the salaries strictly less than $20000.
  • “Average Salary”: All the salaries in the inclusive range [$20000, $50000].
  • “High Salary”: All the salaries strictly greater than $50000.
    The result table must contain all three categories. If there are no accounts in a category, return 0.

Return the result table in any order.

The result format is in the following example.

Example 1:

Input:

Accounts table:
+------------+--------+
| account_id | income |
+------------+--------+
| 3          | 108939 |
| 2          | 12747  |
| 8          | 87709  |
| 6          | 91796  |

±-----------±-------+
Output:

+----------------+----------------+
| category       | accounts_count |
+----------------+----------------+
| Low Salary     | 1              |
| Average Salary | 0              |
| High Salary    | 3              |
+----------------+----------------+

Explanation:
Low Salary: Account 2.
Average Salary: No accounts.
High Salary: Accounts 3, 6, and 8.

題目大意:
按照規則統計低收入中等收入高收入三類人的人數

pandas思路:
統計數目比較容易,按行篩選后的行數即可。怎么組成題目要求返回的形式是本題的重點,用到 pd.DataFrame() 函數

pandas實現:

import pandas as pddef count_salary_categories(accounts: pd.DataFrame) -> pd.DataFrame:low_salary = accounts[accounts['income'] < 20000].shape[0]average_salary = accounts[(accounts['income'] >= 20000)&(accounts['income'] <= 50000)].shape[0]high_salary = accounts[accounts['income'] > 50000].shape[0]ans = pd.DataFrame({'category': ['Low Salary', 'Average Salary', 'High Salary'],'accounts_count': [low_salary, average_salary, high_salary]})return ans

MySQL思路:
case wen來按條件篩選,三個sql的結果union一下

MySQL實現:

SELECT 'Low Salary' AS category,SUM(CASE WHEN income < 20000 THEN 1 ELSE 0 END) AS accounts_count
FROM AccountsUNION
SELECT  'Average Salary' category,SUM(CASE WHEN income >= 20000 AND income <= 50000 THEN 1 ELSE 0 END) AS accounts_count
FROM AccountsUNION
SELECT 'High Salary' category,SUM(CASE WHEN income > 50000 THEN 1 ELSE 0 END) AS accounts_count
FROM Accounts



數據分組

1741. Find Total Time Spent by Each Employee

原題鏈接:1741. Find Total Time Spent by Each Employee

Table: Employees

+-------------+------+
| Column Name | Type |
+-------------+------+
| emp_id      | int  |
| event_day   | date |
| in_time     | int  |
| out_time    | int  |
+-------------+------+
(emp_id, event_day, in_time) is the primary key (combinations of columns with unique values) of this table.
The table shows the employees' entries and exits in an office.
event_day is the day at which this event happened, in_time is the minute at which the employee entered the office, and out_time is the minute at which they left the office.
in_time and out_time are between 1 and 1440.
It is guaranteed that no two events on the same day intersect in time, and in_time < out_time.

Write a solution to calculate the total time in minutes spent by each employee on each day at the office. Note that within one day, an employee can enter and leave more than once. The time spent in the office for a single entry is out_time - in_time.

Return the result table in any order.

The result format is in the following example.

Example 1:

Input:

Employees table:
+--------+------------+---------+----------+
| emp_id | event_day  | in_time | out_time |
+--------+------------+---------+----------+
| 1      | 2020-11-28 | 4       | 32       |
| 1      | 2020-11-28 | 55      | 200      |
| 1      | 2020-12-03 | 1       | 42       |
| 2      | 2020-11-28 | 3       | 33       |
| 2      | 2020-12-09 | 47      | 74       |
+--------+------------+---------+----------+

Output:

+------------+--------+------------+
| day        | emp_id | total_time |
+------------+--------+------------+
| 2020-11-28 | 1      | 173        |
| 2020-11-28 | 2      | 30         |
| 2020-12-03 | 1      | 41         |
| 2020-12-09 | 2      | 27         |
+------------+--------+------------+

Explanation:
Employee 1 has three events: two on day 2020-11-28 with a total of (32 - 4) + (200 - 55) = 173, and one on day 2020-12-03 with a total of (42 - 1) = 41.
Employee 2 has two events: one on day 2020-11-28 with a total of (33 - 3) = 30, and one on day 2020-12-09 with a total of (74 - 47) = 27.

題目大意:
給出每個員工的進場和離場表,要求統計每個員工在場的總時長

pandas思路:
一個時間段的值作差就可得到,每個員工的總時長可以通過groupby之后sum一下得到

pandas實現:

import pandas as pddef total_time(employees: pd.DataFrame) -> pd.DataFrame:employees['total_time'] = employees['out_time'] - employees['in_time']ans = employees.groupby(by=['event_day', 'emp_id'], as_index=False).agg('sum')ans.rename(columns={'event_day':'day'}, inplace=True)ans = ans[['day', 'emp_id', 'total_time']]return ans

MySQL思路:
groupby一下,查詢sum就可以了

MySQL實現:

select event_day as day, emp_id, sum(out_time - in_time) as total_time
from Employees
group by event_day, emp_id



511. Game Play Analysis I

原題鏈接:511. Game Play Analysis I

Table: Activity

+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| player_id    | int     |
| device_id    | int     |
| event_date   | date    |
| games_played | int     |
+--------------+---------+
(player_id, event_date) is the primary key (combination of columns with unique values) of this table.
This table shows the activity of players of some games.
Each row is a record of a player who logged in and played a number of games (possibly 0) before logging out on someday using some device.

Write a solution to find the first login date for each player.

Return the result table in any order.

The result format is in the following example.

Example 1:

Input:

Activity table:
+-----------+-----------+------------+--------------+
| player_id | device_id | event_date | games_played |
+-----------+-----------+------------+--------------+
| 1         | 2         | 2016-03-01 | 5            |
| 1         | 2         | 2016-05-02 | 6            |
| 2         | 3         | 2017-06-25 | 1            |
| 3         | 1         | 2016-03-02 | 0            |
| 3         | 4         | 2018-07-03 | 5            |
+-----------+-----------+------------+--------------+

Output:

+-----------+-------------+
| player_id | first_login |
+-----------+-------------+
| 1         | 2016-03-01  |
| 2         | 2017-06-25  |
| 3         | 2016-03-02  |
+-----------+-------------+

題目大意:
輸出員工的最早打卡時間

pandas思路:
排序+去重保留第一條就可以實現題目要求

pandas實現:

import pandas as pddef game_analysis(activity: pd.DataFrame) -> pd.DataFrame:activity.sort_values(by='event_date', inplace=True) # 按照登錄時間排序activity.drop_duplicates(subset='player_id', keep='first', inplace=True) # 去重activity.rename(columns={'event_date':'first_login'}, inplace=True)return activity[['player_id', 'first_login']]



2356. Number of Unique Subjects Taught by Each Teacher

原題鏈接:2356. Number of Unique Subjects Taught by Each Teacher

Table: Teacher

+-------------+------+
| Column Name | Type |
+-------------+------+
| teacher_id  | int  |
| subject_id  | int  |
| dept_id     | int  |
+-------------+------+
(subject_id, dept_id) is the primary key (combinations of columns with unique values) of this table.
Each row in this table indicates that the teacher with teacher_id teaches the subject subject_id in the department dept_id.

Write a solution to calculate the number of unique subjects each teacher teaches in the university.

Return the result table in any order.

The result format is shown in the following example.

Example 1:

Input:

Teacher table:
+------------+------------+---------+
| teacher_id | subject_id | dept_id |
+------------+------------+---------+
| 1          | 2          | 3       |
| 1          | 2          | 4       |
| 1          | 3          | 3       |
| 2          | 1          | 1       |
| 2          | 2          | 1       |
| 2          | 3          | 1       |
| 2          | 4          | 1       |
+------------+------------+---------+

Output:

+------------+-----+
| teacher_id | cnt |
+------------+-----+
| 1          | 2   |
| 2          | 4   |
+------------+-----+

Explanation:
Teacher 1:

  • They teach subject 2 in departments 3 and 4.
  • They teach subject 3 in department 3.

Teacher 2:

  • They teach subject 1 in department 1.
  • They teach subject 2 in department 1.
  • They teach subject 3 in department 1.
  • They teach subject 4 in department 1.

題目大意:
統計一下每個老師所交的課程的數目,同一個課程不同教室只算一門

pandas思路:
用groupby按教師id進行分組,nunique() 用于統計去重后的科目數

pandas實現:

import pandas as pddef count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame:ans = teacher.groupby(by='teacher_id')['subject_id'].nunique().reset_index()ans.rename(columns={'subject_id':'cnt'}, inplace=True)return ans

MySQL思路:
group by,然后用count() 計數

MySQL實現:

select teacher_id, count(distinct subject_id) as cnt
from Teacher
group by teacher_id



596. Classes More Than 5 Students

原題鏈接:596. Classes More Than 5 Students

Table: Courses

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| student     | varchar |
| class       | varchar |
+-------------+---------+
(student, class) is the primary key (combination of columns with unique values) for this table.
Each row of this table indicates the name of a student and the class in which they are enrolled.

Write a solution to find all the classes that have at least five students.

Return the result table in any order.

The result format is in the following example.

Example 1:

Input:

Courses table:
+---------+----------+
| student | class    |
+---------+----------+
| A       | Math     |
| B       | English  |
| C       | Math     |
| D       | Biology  |
| E       | Math     |
| F       | Computer |
| G       | Math     |
| H       | Math     |
| I       | Math     |
+---------+----------+

Output:

+---------+
| class   |
+---------+
| Math    |
+---------+

Explanation:

  • Math has 6 students, so we include it.
  • English has 1 student, so we do not include it.
  • Biology has 1 student, so we do not include it.
  • Computer has 1 student, so we do not include it.

題目大意:
返回學生數大于等于5的課程名

pandas思路:
使用 groupby() 按班級分組, size() 計算每個班級的出現次數(也就是學生數),然后進行行篩選即可

pandas實現:

import pandas as pddef find_classes(courses: pd.DataFrame) -> pd.DataFrame:df = courses.groupby('class').size().reset_index(name='count') # size()計算每個值出現的次數df = df[df['count'] >= 5]return df[['class']]

MySQL思路:
where關鍵字無法和聚合函數一起使用,having子句可以篩選分組后的各組數據

MySQL實現:

select class
from courses
group by class
having count(class) >= 5



586. Customer Placing the Largest Number of Orders

原題鏈接:586. Customer Placing the Largest Number of Orders

Table: Orders

+-----------------+----------+
| Column Name     | Type     |
+-----------------+----------+
| order_number    | int      |
| customer_number | int      |
+-----------------+----------+
order_number is the primary key (column with unique values) for this table.
This table contains information about the order ID and the customer ID.

Write a solution to find the customer_number for the customer who has placed the largest number of orders.

The test cases are generated so that exactly one customer will have placed more orders than any other customer.

The result format is in the following example.

Example 1:

Input:

Orders table:
+--------------+-----------------+
| order_number | customer_number |
+--------------+-----------------+
| 1            | 1               |
| 2            | 2               |
| 3            | 3               |
| 4            | 3               |
+--------------+-----------------+

Output:

+-----------------+
| customer_number |
+-----------------+
| 3               |
+-----------------+

Explanation:
The customer with number 3 has two orders, which is greater than either customer 1 or 2 because each of them only has one order.
So the result is customer_number 3.

Follow up:
What if more than one customer has the largest number of orders, can you find all the customer_number in this case?

題目大意:
返回點單數最多的顧客的編號

pandas思路:
通過 groupby() 進行分組,通過 size() 來統計出現次數,對出現次數進行降序排列,最后輸出第一行即可

pandas實現:

import pandas as pddef largest_orders(orders: pd.DataFrame) -> pd.DataFrame:df = orders.groupby('customer_number').size().reset_index(name='count') # 統計次數df.sort_values(by='count', ascending=False, inplace=True) # 根據次數降序排列return df[['customer_number']].head(1)

MySQL思路:
一樣也是 group by 聚合,然后 order by 排序,用 limit 1 來返回第一條

MySQL實現:

select customer_number
from orders
group by customer_number
order by count(*) desc
limit 1



1484. Group Sold Products By The Date(好題)

原題鏈接:1484. Group Sold Products By The Date

Table Activities :

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| sell_date   | date    |
| product     | varchar |
+-------------+---------+
There is no primary key (column with unique values) for this table. It may contain duplicates.
Each row of this table contains the product name and the date it was sold in a market.

Write a solution to find for each date the number of different products sold and their names.

The sold products names for each date should be sorted lexicographically(字典序).

Return the result table ordered by sell_date .

The result format is in the following example.

Example 1:

Input:

Activities table:
+------------+------------+
| sell_date  | product     |
+------------+------------+
| 2020-05-30 | Headphone  |
| 2020-06-01 | Pencil     |
| 2020-06-02 | Mask       |
| 2020-05-30 | Basketball |
| 2020-06-01 | Bible      |
| 2020-06-02 | Mask       |
| 2020-05-30 | T-Shirt    |
+------------+------------+

Output:

+------------+----------+------------------------------+
| sell_date  | num_sold | products                     |
+------------+----------+------------------------------+
| 2020-05-30 | 3        | Basketball,Headphone,T-shirt |
| 2020-06-01 | 2        | Bible,Pencil                 |
| 2020-06-02 | 1        | Mask                         |
+------------+----------+------------------------------+

Explanation:
For 2020-05-30, Sold items were (Headphone, Basketball, T-shirt), we sort them lexicographically and separate them by a comma.
For 2020-06-01, Sold items were (Pencil, Bible), we sort them lexicographically and separate them by a comma.
For 2020-06-02, the Sold item is (Mask), we just return it.

題目大意:
按照日期將多行合并為一行,并統計數目

pandas思路:
使用 groupby() 進行分組,然后 agg() 進行聚合操作,重點在于將多行合并到一行,這個時不時會遇到,我覺得一定要掌握!!!

pandas實現:

import pandas as pddef categorize_products(activities: pd.DataFrame) -> pd.DataFrame:groups = activities.groupby('sell_date') # groupby的結果是一個DataFrameGroupBy對象ans = groups.agg(num_sold = ('product', 'nunique'),products = ('product', lambda x : ','.join(sorted(set(x)))) # 去重后按字典序排列, 用逗號分隔組成字符串).reset_index()ans.sort_values('sell_date', inplace=True) # 按照日期排序return ans

MySQL思路:
重點也是多行合并到一行

MySQL實現:

selectsell_date,count(distinct product) as num_sold,group_concat(distinct product order by product separator ',') as products -- 重點
fromactivities
group bysell_date
order bysell_date asc



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38874.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38874.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38874.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無涯教程-Perl - setgrent函數

描述 此功能將枚舉設置(或重置)到組條目集的開頭。該函數應在第一次調用getgrent之前調用。 語法 以下是此函數的簡單語法- setgrent返回值 此函數不返回任何值。 例 以下是顯示其基本用法的示例代碼- #!/usr/bin/perl -wwhile( ($name,$passwd,$gid,$members)getgrent…

ide internal errors【bug】

ide internal errors【bug】 前言版權ide internal errors錯誤產生相關資源解決1解決2 設置虛擬內存最后 前言 2023-8-15 12:36:59 以下內容源自《【bug】》 僅供學習交流使用 版權 禁止其他平臺發布時刪除以下此話 本文首次發布于CSDN平臺 作者是CSDN日星月云 博客主頁是h…

C++模板的分離編譯問題

本文主要是了解一下為什么模板的定義和聲明不能分開&#xff0c;需要簡單了解一下編譯的四個階段。 一、理解編譯大致流程 整個編譯流程分為&#xff1a;預處理、編譯、匯編、鏈接&#xff0c;這里以源文件main.cpp文件為例。 預處理&#xff1a;對源文件進行宏替換、去注釋、…

CentOS8防火墻基礎操作應用

查看防火墻某個端口是否開放 firewall-cmd --query-port80/tcp 開放防火墻端口80 firewall-cmd --zonepublic --add-port80/tcp --permanent 關閉80端口 firewall-cmd --zonepublic --remove-port80/tcp --permanent 配置立即生效firewall-cmd --reload 查看防火墻狀態 s…

代碼隨想錄算法訓練營第58天|動態規劃part15|392.判斷子序列、115.不同的子序列

代碼隨想錄算法訓練營第58天&#xff5c;動態規劃part15&#xff5c;392.判斷子序列、115.不同的子序列 392.判斷子序列 392.判斷子序列 思路&#xff1a; &#xff08;這道題也可以用雙指針的思路來實現&#xff0c;時間復雜度也是O(n)&#xff09; 這道題應該算是編輯距…

[Android 11]使用Android Studio調試系統應用之Settings移植(七):演示用AS編譯錯誤問題

文章目錄 1. 篇頭語2. 系列文章3. AS IDE的配置3.1 AS版本3.2 Gradle JDK 版本4. JDK的下載5. AS演示工程地址6.其他版本JDK導致的錯誤1. 篇頭語 距離2021年開始,系列文章發表已經有近兩年了,依舊有網友反饋一些gitee上演示源碼編譯的一些問題,這里就記錄一下。 2. 系列文章…

uniApp引入vant2

uniApp引入vant2 1、cnpm 下載&#xff1a;cnpm i vantlatest-v2 -S2、main.js文件引入 import Vant from ./node_modules/vant/lib/vant;Vue.use(Vant);3.app.vue中引入vant 樣式文件 import /node_modules/vant/lib/index.css;

tomcat服務七層搭建動態頁面查看

一個服務器多實例復制完成 配置tomcat多實例的環境變量 vim /etc/profile.d/tomcat.sh配置tomcat1和tomcat2的環境變量 進入tomcat1修改配置 測試通信端口是否正常 連接正常 toncat 2 配置修改 修改這三個 端口配置修改完成 修改tomcat1 shudown 分別把啟動文件指向tomcat1…

數據結構--最短路徑 Dijkstra算法

數據結構–最短路徑 Dijkstra算法 Dijkstra算法 計算 b e g i n 點到各個點的最短路 \color{red}計算\ begin\ 點到各個點的最短路 計算 begin 點到各個點的最短路 如果是無向圖&#xff0c;可以先把無向圖轉化成有向圖 我們需要2個數組 final[] &#xff08;標記各頂點是否已…

【ARM 嵌入式 編譯系列 10.1 -- GCC 編譯縮減可執行文件 elf 文件大小】

文章目錄 上篇文章&#xff1a;ARM 嵌入式 編譯系列 10 – GCC 編譯縮減可執行文件 elf 文件大小 接著上篇文章 ARM 嵌入式 編譯系列 10 – GCC 編譯縮減可執行文件 elf 文件大小 的介紹&#xff0c;我們看下如何進一步縮小可執行文件test的大小。上篇文章通過 strip --strip-…

RunnerGo的相比較JMeter優勢,能不能替代?

目前在性能測試領域市場jmeter占有率是非常高的&#xff0c;主要原因是相對比其他性能測試工具使用更簡單&#xff08;開源、易擴展&#xff09;&#xff0c;功能更強大&#xff08;滿足多種協議的接口&#xff09;&#xff0c;但是隨著研發協同的升級&#xff0c;平臺化的性能…

進程的概念和特征

進程的概念和特征 進程的概念進程的特征 進程的概念 在多道程序環境下&#xff0c;允許多個程序并發執行&#xff0c;此時他們將失去封閉性&#xff0c;并具有間斷性及不可再現性的特征。為此引入了進程&#xff08;process&#xff09;的概念&#xff0c;以便更好的描述和控制…

【Java】常用工具——異常

1. try-catch-finnaly try必須和catch或者finally組合使用&#xff1b; public class TryDemoOne {public static void main(String[] args) {Scanner input new Scanner(System.in);System.out.println("輸入第1個整數&#xff1a;");int one input.nextInt();S…

主流的嵌入式微處理器

目前主流的嵌入式微處理器系列有&#xff1a; ARM系列 MIPS系列 PowerPC系列 Super H系列 一、MPC/PPC系列 PowerPC(簡稱PPC),其基本設計源自IBM的POWER.1991年&#xff0c;APPLE(蘋果電腦)、IBM、Motorola&#xff08;摩托羅拉&#xff09;組成的AIM聯盟發展出Power微處理器…

mybatis-plus 根據指定字段 批量 刪除/修改

mybatis-plus 提供了根據id批量更新和修改的方法,這個大家都不陌生 但是當表沒有id的時候怎么辦 方案一: 手寫SQL方案二: 手動獲取SqlSessionTemplate 就是把mybatis plus 干的事自己干了方案三 : 重寫 executeBatch 方法結論: mybatis-plus 提供了根據id批量更新和修改的方法,…

Python jupyter lab 設置

在下載好jupyter lab 后&#xff0c;需要對其進行設置&#xff0c;尤其是遠程服務器的時候&#xff0c;因為根本就是沒有屏幕&#xff0c;也沒有瀏覽器。 新建設置文件 jupyter lab --generate-config設置文件內部參數 vim ~/.jupyter/jupyter_lab_config.py進去一通改&#…

網絡編程(8.15)io模型,IO多路復用(select,poll)

1.使用select函數實現IO多路復用 使用select函數實現IO多路復用的服務器&#xff1a; #include<stdio.h> #include<head.h> #include<netinet/in.h> #include<sys/select.h> #include<arpa/inet.h> #define PROT 1112 #define IP "192.16…

29 | 廣州美食店鋪數據分析

廣州美食店鋪數據分析 一、數據分析項目MVP加/價值主張宣言 隨著經濟的快速發展以及新媒體的興起,美食攻略、美食探店等一系列東西進入大眾的眼球,而人們也會在各大平臺中查找美食推薦,因此本項目做的美食店鋪數據分析也是帶有可行性的。首先通過對廣東省的各市美食店鋪數量…

對話即數據分析,網易數帆ChatBI做到了

大數據產業創新服務媒體 ——聚焦數據 改變商業 在當今數字化快速發展的時代&#xff0c;數據已經成為業務經營與管理決策的核心驅要素。無論是跨國大企業還是新興創業公司&#xff0c;正確、迅速地洞察數據已經變得至關重要。然而&#xff0c;傳統的BI工具往往對用戶有一定的…

初步認識OSI/TCP/IP一(第三十八課)

1 初始OSI模型 OSI參考模型(Open Systems Interconnection Reference Model)是一個由國際標準化組織(ISO)和國際電報電話咨詢委員會(CCITT)聯合制定的網絡通信協議規范,它將網絡通信分為七個不同的層次,每個層次負責不同的功能和任務。 2 網絡功能 數據通信、資源共享…