当前位置: 首页 > news >正文

【LeetCode】30 天 Pandas 挑战

一、笔记

1.对某列进行筛选

df[(df[column1]条件1) | (df[column2]条件2) & (df[column3]条件3)][[columns]]

真题:

  • (一)条件筛选——1.大的国家
  • (一)条件筛选——2.可回收且低脂的产品
  • (一)条件筛选——4.文章浏览1
  • (四)数据统计——16.富有客户的数量
  • (四)数据统计——18.按分类统计薪水
  • (六)数据合并——26.合作过至少三次的演员和导演

2.某列是否包含/不包含另一列

df1[~df1[column1].isin(df2[column2])][[columns]]

真题:

  • (一)条件筛选——3.从不订购的客户
  • (六)数据合并——29.至少有5名直接下属的经理
  • (六)数据合并——30.销售员

3.列表重命名

# 方式一
df.rename(columns={old_column:new_column})
# 方式二
df.columns = [columns]

4.某列值相关属性

4.1 字符串

# 字符串长度
df[column].str.len()
# 使得只有第一个字符是大写的,其余都是小写的
df[column].str.capitalize()
# 字符串正则表达式
df[column].str.match(正则表达式)
# 字符串包含
df[column].str.contains(正则表达式)

真题:

  • (二)字符串函数——5.无效的推文
  • (二)字符串函数——7.修复表中的名字
  • (二)字符串函数——8.查找拥有有效邮箱的用户
  • (二)字符串函数——9.患某种疾病的患者

4.2 函数

# 以某个字符开头
df[column].startswith(字符)
# 列中前M个最大值的Series,Series中的最后N个元素,转成dataframe
df[column].nlargest(M).tail(N).to_frame()
# 最大值
df[column].max()
# 排名
df[column].rank(method="dense",ascending=False)
# 去除空
df.dropna()
# 求和
df[column].sum()
# 最小值
df[column].min()

真题:

  • (二)字符串函数——6.计算特殊奖金
  • (三)数据操作——10.第N高的薪水
  • (三)数据操作——11.第二高的薪水
  • (三)数据操作——12.部门工资最高的员工
  • (三)数据操作——13.分数排名
  • (三)数据操作——15.每个产品在不同商店的价格
  • (五)数据分组——19.查找每个员工花费的总时间
  • (五)数据分组——20.游戏玩法分析1
  • (五)数据分组——23.定单最多的客户
  • (六)数据合并——28.学生们参加各科测试的次数

5.对行/列进行操作

# 行
df.apply(操作, axis=1)
# 列
df.apply(操作, axis=0)

真题:

  • (二)字符串函数——6.计算特殊奖金
  • (三)数据操作——12.部门工资最高的员工
  • (五)数据分组——24.按日期分组销售产品

6.去重

df.drop_duplicates([columns])
df.drop_duplicates(subset=column,keep="first",inplace=True)
df.nunique()

真题:

  • (三)数据操作——11.第二高的薪水
  • (三)数据操作——14.删除重复的电子邮箱
  • (四)数据统计——16.富有客户的数量
  • (五)数据分组——21.每位教师所教授的科目种类
  • (五)数据分组——24.按日期分组销售产品

7.关联

# join
df1.set_index(column1).join(df2.set_index(column2), how="left")
# merge
df1.merge(df2, on=[columns], how='left', indicator=True)
## 笛卡尔积
df1.assign(key=1).merge(df2.assign(key=1), on='key').drop('key', axis=1)

真题:

  • (三)数据操作——12.部门工资最高的员工
  • (五)数据分组——24.按日期分组销售产品
  • (五)数据分组——25.每天的领导和合伙人
  • (六)数据合并——27.使用唯一标识码替换员工ID
  • (六)数据合并——28.学生们参加各科测试的次数

8.排序

df.sort_values([column], ascending=False).reset_index(drop=True)

真题:

  • (三)数据操作——13.分数排名
  • (三)数据操作——14.删除重复的电子邮箱
  • (五)数据分组——24.按日期分组销售产品

9.合并

pd.concat([df_1,df_2,df_3], axis=0, ignore_index=True)

真题:

  • (三)数据操作——15.每个产品在不同商店的价格

10.分组

df.groupby(column).reset_index(name=new_column)
# 分组计数
df.groupby([column]).size().reset_index(name=new_column)
# 分组去重计数
df.groupby([column1])[column2].nunique().reset_index(name=new_column)

真题:

  • (五)数据分组——21.每位教师所教授的科目种类
  • (五)数据分组——22.超过5名学生课
  • (五)数据分组——23.定单最多的客户
  • (五)数据分组——24.按日期分组销售产品
  • (五)数据分组——25.每天的领导和合伙人
  • (六)数据合并——26.合作过至少三次的演员和导演
  • (六)数据合并——29.至少有5名直接下属的经理

二、真题

(一)条件筛选

1.大的国家

如果一个国家满足下述两个条件之一,则认为该国是大国:面积至少为300万平方公里(即3000000km2),或者人口至少为 2500万(即25000000)
编写解决方案找出大国的国家名称、人口和面积。按 任意顺序返回结果表。

import pandas as pddef big_countries(world: pd.DataFrame) -> pd.DataFrame:return world[(world["area"] >= 3000000) | (world["population"] >= 25000000)][["name","population","area"]]

2.可回收且低脂的产品

编写解决方案找出既是低脂又是可回收的产品编号。返回结果 无顺序要求 。

import pandas as pddef find_products(products: pd.DataFrame) -> pd.DataFrame:return products[(products["low_fats"] == "Y") & (products["recyclable"] == "Y")][["product_id"]]

3.从不订购的客户

找出所有从不点任何东西的顾客。以任意顺序返回结果表。

import pandas as pddef find_customers(customers: pd.DataFrame, orders: pd.DataFrame) -> pd.DataFrame:return customers[~customers["id"].isin(orders["customerId"])][["name"]].rename(columns={"name":"Customers"})

4.文章浏览1

请查询出所有浏览过自己文章的作者,结果按照 id 升序排列。

import pandas as pddef article_views(views: pd.DataFrame) -> pd.DataFrame:return views[views["author_id"] == views["viewer_id"]][["viewer_id"]].rename(columns={"viewer_id":"id"}).drop_duplicates().sort_values(by=["id"])

5.无效的推文

查询所有无效推文的编号(ID)。当推文内容中的字符数严格大于 15 时,该推文是无效的。以任意顺序返回结果表。

import pandas as pddef invalid_tweets(tweets: pd.DataFrame) -> pd.DataFrame:return tweets[tweets["content"].str.len() > 15][["tweet_id"]]

6.计算特殊奖金

编写解决方案,计算每个雇员的奖金。如果一个雇员的 id 是 奇数 并且他的名字不是以 ‘M’ 开头,那么他的奖金是他工资的 100% ,否则奖金为 0 。返回的结果按照 employee_id 排序。

import pandas as pddef calculate_nonus(row):if row["employee_id"] % 2 == 1 and not row["name"].startswith("M"):return row["salary"]else:return 0def calculate_special_bonus(employees: pd.DataFrame) -> pd.DataFrame:employees["salary"] = employees.apply(calculate_nonus, axis=1)return employees[["employee_id","salary"]].rename(columns={"salary":"bonus"}).sort_values(by="employee_id")

7.修复表中的名字

编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。返回按 user_id 排序的结果表。

import pandas as pddef fix_names(users: pd.DataFrame) -> pd.DataFrame:users["name"] = users["name"].str.capitalize()return users.sort_values(by=["user_id"])

8.查找拥有有效邮箱的用户

编写一个解决方案,以查找具有有效电子邮件的用户。一个有效的电子邮件具有前缀名称和域,其中: 前缀 名称是一个字符串,可以包含字母(大写或小写),数字,下划线 ‘_’ ,点 ‘.’ 和/或破折号 ‘-’ 。前缀名称 必须 以字母开头。域 为 ‘@leetcode.com’ 。以任何顺序返回结果表。

import pandas as pddef valid_emails(users: pd.DataFrame) -> pd.DataFrame:return users[users["mail"].str.match(r"^[a-zA-Z][a-zA-Z0-9_.\-]*@leetcode\.com$")]

9.患某种疾病的患者

查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。按 任意顺序 返回结果表。

import pandas as pddef find_patients(patients: pd.DataFrame) -> pd.DataFrame:return patients[patients["conditions"].str.contains(r'\bDIAB1\w*', regex=True)]

10.第N高的薪水

查询 Employee 表中第 n 高的工资。如果没有第 n 个最高工资,查询结果应该为 null 。

import pandas as pddef nth_highest_salary(employee: pd.DataFrame, N: int) -> pd.DataFrame:employee = employee.drop_duplicates('salary')return employee['salary'].nlargest(N).tail(1).to_frame() if employee.shape[0]>=N else pd.DataFrame()

11.第二高的薪水

查询并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null(Pandas 则返回 None) 。

import pandas as pddef second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame:employee = employee.drop_duplicates('salary')return employee["salary"].nlargest(2).tail(1).to_frame().rename(columns={"salary":"SecondHighestSalary"}) if employee.shape[0]>=2 else pd.DataFrame([None], columns=["SecondHighestSalary"])

12.部门工资最高的员工

查找出每个部门中薪资最高的员工。按 任意顺序 返回结果表。

import pandas as pddef department_highest_salary(employee: pd.DataFrame, department: pd.DataFrame) -> pd.DataFrame:df = employee.set_index("departmentId").join(department.rename(columns={"name":"Department"}).set_index("id"), how="left")return df.groupby("Department").apply(lambda x:x[x["salary"]==x["salary"].max()])[["Department","name","salary"]].rename(columns={"name":"Employee","salary":"Salary"})

13.分数排名

查询并对分数进行排序。排名按以下规则计算:分数应按从高到低排列。如果两个分数相等,那么两个分数的排名应该相同。在排名相同的分数后,排名数应该是下一个连续的整数。换句话说,排名之间不应该有空缺的数字。按 score 降序返回结果表。

import pandas as pddef order_scores(scores: pd.DataFrame) -> pd.DataFrame:scores = scores.sort_values(["score"], ascending=False).reset_index(drop=True)scores["rank"] = scores["score"].rank(method="dense",ascending=False)return scores[["score","rank"]]

14.删除重复的电子邮箱

编写解决方案 删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。(对于 SQL 用户,请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。)(对于 Pandas 用户,请注意你应该直接修改 Person 表。)运行脚本后,显示的答案是 Person 表。驱动程序将首先编译并运行您的代码片段,然后再显示 Person 表。Person 表的最终顺序 无关紧要 。

import pandas as pd# Modify Person in place
def delete_duplicate_emails(person: pd.DataFrame) -> None:if len(person):person.sort_values(by=["id"], inplace=True)return person.drop_duplicates(subset='email',keep="first",inplace=True) else:return None

15.每个产品在不同商店的价格

请你重构 Products 表,查询每个产品在不同商店的价格,使得输出的格式变为(product_id, store, price) 。如果这一产品在商店里没有出售,则不输出这一行。输出结果表中的 顺序不作要求 。

import pandas as pddef rearrange_products_table(products: pd.DataFrame) -> pd.DataFrame:df_1 = products[["product_id", "store1"]].rename(columns={"store1":"price"}).dropna()df_1["store"] = "store1"df_2 = products[["product_id", "store2"]].rename(columns={"store2":"price"}).dropna()df_2["store"] = "store2"df_3 = products[["product_id", "store3"]].rename(columns={"store3":"price"}).dropna()df_3["store"] = "store3"df = pd.concat([df_1,df_2,df_3], axis=0, ignore_index=True)[["product_id","store","price"]]return df

16.富有客户的数量

编写解决方案找出 至少有一个 订单的金额 严格大于 500 的客户的数量。

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

17.即时食物配送

如果顾客期望的配送日期和下单日期相同,则该订单称为 「即时订单」,否则称为「计划订单」。编写解决方案统计即时订单所占的百分比, 保留两位小数。

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

18.按分类统计薪水

查询每个工资类别的银行账户数量。 工资类别如下:
“Low Salary”:所有工资 严格低于 20000 美元。
“Average Salary”: 包含 范围内的所有工资 [$20000, $50000] 。
“High Salary”:所有工资 严格大于 50000 美元。
结果表 必须 包含所有三个类别。 如果某个类别中没有帐户,则报告 0 。按 任意顺序 返回结果表。

import pandas as pddef count_salary_categories(accounts: pd.DataFrame) -> pd.DataFrame:return pd.DataFrame({"category":["Low Salary","Average Salary","High Salary"],"accounts_count":[len(accounts[accounts["income"]<20000]),len(accounts[(accounts["income"]>=20000) & (accounts["income"]<=50000)]),len(accounts[accounts["income"]>50000])]})

19.查找每个员工花费的总时间

计算每位员工每天在办公室花费的总时间(以分钟为单位)。 请注意,在一天之内,同一员工是可以多次进入和离开办公室的。 在办公室里一次进出所花费的时间为out_time 减去 in_time。返回结果表单的顺序无要求。

import pandas as pddef total_time(employees: pd.DataFrame) -> pd.DataFrame:employees["difference"] = employees["out_time"] - employees["in_time"]return employees.groupby(["emp_id","event_day"])["difference"].sum().reset_index()[["event_day","emp_id","difference"]].rename(columns={"event_day":"day","difference":"total_time"})

20.游戏玩法分析1

查询每位玩家 第一次登陆平台的日期。

import pandas as pddef game_analysis(activity: pd.DataFrame) -> pd.DataFrame:return activity.groupby("player_id")["event_date"].min().reset_index().rename(columns={"event_date":"first_login"})

21.每位教师所教授的科目种类

import pandas as pddef count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame:return teacher.groupby('teacher_id')['subject_id'].nunique().reset_index(name='cnt')

22.超过5名学生课

查询 至少有5个学生 的所有班级。以 任意顺序 返回结果表。

import pandas as pddef find_classes(courses: pd.DataFrame) -> pd.DataFrame:courses = courses.groupby(["class"]).size().reset_index(name='count')return courses[courses["count"]>=5][["class"]]

23.定单最多的客户

查找下了 最多订单 的客户的 customer_number 。测试用例生成后, 恰好有一个客户 比任何其他客户下了更多的订单。

import pandas as pddef largest_orders(orders: pd.DataFrame) -> pd.DataFrame:orders = orders.groupby(["customer_number"]).size().reset_index(name="count")return orders[orders["count"]==orders["count"].max()][["customer_number"]]

24.按日期分组销售产品

编写解决方案找出每个日期、销售的不同产品的数量及其名称。每个日期的销售产品名称应按词典序排列。返回按 sell_date 排序的结果表。

import pandas as pddef categorize_products(activities: pd.DataFrame) -> pd.DataFrame:activities = activities.drop_duplicates().sort_values(by='product')activities_num_sold = activities.groupby('sell_date').size().reset_index(name='num_sold')activities_products = activities.groupby("sell_date")["product"].apply(','.join).reset_index(name="products")return activities_num_sold.set_index("sell_date").join(activities_products.set_index("sell_date"), how="left").reset_index()

25.每天的领导和合伙人

对于每一个 date_id 和 make_name,找出 不同 的 lead_id 以及 不同 的 partner_id 的数量。按 任意顺序 返回结果表。

import pandas as pddef daily_leads_and_partners(daily_sales: pd.DataFrame) -> pd.DataFrame:daily_sales_unique_leads = daily_sales.groupby(["date_id","make_name"])['lead_id'].nunique().reset_index(name='unique_leads')daily_sales_unique_partners = daily_sales.groupby(["date_id","make_name"])['partner_id'].nunique().reset_index(name='unique_partners')return daily_sales_unique_leads.set_index(["date_id","make_name"]).join(daily_sales_unique_partners.set_index(["date_id","make_name"]), how='left').reset_index()

26.合作过至少三次的演员和导演

编写解决方案找出合作过至少三次的演员和导演的 id 对 (actor_id, director_id)

import pandas as pddef actors_and_directors(actor_director: pd.DataFrame) -> pd.DataFrame:actor_director = actor_director.groupby(["actor_id","director_id"]).size().reset_index(name="cnt")return actor_director[actor_director["cnt"]>=3][["actor_id","director_id"]]

27.使用唯一标识码替换员工ID

展示每位用户的 唯一标识码(unique ID );如果某位员工没有唯一标识码,使用 null 填充即可。你可以以 任意 顺序返回结果表。

import pandas as pddef replace_employee_id(employees: pd.DataFrame, employee_uni: pd.DataFrame) -> pd.DataFrame:return employee_uni.set_index('id').join(employees.set_index('id'), how='right').reset_index()[["unique_id","name"]]

28.学生们参加各科测试的次数

查询出每个学生参加每一门科目测试的次数,结果按 student_id 和 subject_name 排序。

import pandas as pd
import numpy as npdef students_and_examinations(students: pd.DataFrame, subjects: pd.DataFrame, examinations: pd.DataFrame) -> pd.DataFrame:students = students.assign(key=1).merge(subjects.assign(key=1), on='key').drop('key', axis=1)students = students.merge(examinations, on=['student_id', 'subject_name'], how='left', indicator=True)students['attended_exams'] = (students['_merge'] == 'both').astype(int)return students.groupby(['student_id', 'student_name', 'subject_name'])['attended_exams'].sum().reset_index()

29.至少有5名直接下属的经理

查询至少有5名直接下属的经理 。以 任意顺序 返回结果表。

import pandas as pddef find_managers(employee: pd.DataFrame) -> pd.DataFrame:employee_cnt = employee.groupby(["managerId"]).size().reset_index(name="cnt")return employee[employee["id"].isin(employee_cnt[employee_cnt["cnt"]>=5]["managerId"])][["name"]]

30.销售员

编写解决方案,找出没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。以 任意顺序 返回结果表。

import pandas as pddef sales_person(sales_person: pd.DataFrame, company: pd.DataFrame, orders: pd.DataFrame) -> pd.DataFrame:return sales_person[~sales_person["sales_id"].isin(orders[orders["com_id"].isin(company[company["name"]=="RED"]["com_id"])][["sales_id"]]["sales_id"])][["name"]]

相关文章:

【LeetCode】30 天 Pandas 挑战

一、笔记 1.对某列进行筛选 df[(df[column1]条件1) | (df[column2]条件2) & (df[column3]条件3)][[columns]]真题&#xff1a; &#xff08;一&#xff09;条件筛选——1.大的国家&#xff08;一&#xff09;条件筛选——2.可回收且低脂的产品&#xff08;一&#xff09;…...

头歌MYSQL——课后作业2 数据表中数据的插入、修改和删除

第1关&#xff1a;数据表中插入一条记录,对指定字段赋值 任务描述 本关任务&#xff1a;在library数据库的reader数据表中插入一条数据 姓名xm为林团团&#xff0c;电话号码dhhm为13507311234&#xff0c;其余字段取默认值 显示数据表的所有数据 为了完成本关任务&#xff0c…...

Maven的profiles多环境配置

一个项目通常都会有多个不同的运行环境&#xff0c;例如开发环境&#xff0c;测试环境、生产环境等。而不同环境的构建过程很可能是不同的&#xff0c;例如数据源配置、插件、以及依赖的版本等。每次将项目部署到不同的环境时&#xff0c;都需要修改相应的配置&#xff0c;这样…...

go 协程

golang中的并发是函数相互独立运行的能力。Goroutines是并发运行的函数。Golang提供了 如何实现go协程 只需要在函数前面加上go即可 go task()package mainimport ("fmt""time" )func show(msg string) {for i : 0; i < 5; i {fmt.Printf("msg: …...

【python爬虫案例】用python爬豆瓣读书TOP250排行榜!

文章目录 一、爬虫对象-豆瓣读书TOP250二、python爬虫代码讲解三、讲解视频四、完整源码 一、爬虫对象-豆瓣读书TOP250 您好&#xff0c;我是 马哥python说 &#xff0c;一名10年程序猿。 今天我们分享一期python爬虫案例讲解。爬取对象是&#xff0c;豆瓣读书TOP250排行榜数…...

Qt中 gui 模块和 widgets 模块的区别

1. gui 模块提供了基本的图形系统抽象层,包括QPaintDevice、QPainter等类,这些类构成了Qt的绘图基础。 2. widgets 模块在 gui 模块的基础上,提供了完整的桌面级用户界面控件,如按钮、列表、滑块等。这些控件继承自更基础的图形类。 3. gui 模块是更底层的图形功能,widgets模…...

feign调用流程

...

15-数据结构-二叉树的遍历,递归和非递归

简介&#xff1a; 本文主要是代码实现&#xff0c;二叉树遍历&#xff0c;递归和非递归&#xff08;用栈&#xff09;。主要为了好理解&#xff0c;直接在代码处&#xff0c;加了详细注释&#xff0c;方便复习和后期默写。主要了解其基本思想&#xff0c;为后期熟练应用…...

最新绕过目标域名CDN进行信息收集技术

绕过目标域名CDN进行信息收集 1&#xff0e;CDN简介及工作流程 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;的目的是通过在现有的网络架构中增加一层新的Cache&#xff08;缓存&#xff09;层&#xff0c;将网站的内容发布到最接近用户的网…...

overlayfs

参考&#xff1a;How containers work: overlayfs how overlays work Overlay filesystems, also known as “union filesystems” or “union mounts” let you mount a filesystem using 2 directories: a “lower” directory, and an “upper” directory. Basically: t…...

Mysql中九种索引失效场景分析

表数据&#xff1a; 索引情况&#xff1a; 其中a是主键&#xff0c;对应主键索引&#xff0c;bcd三个字段组成联合索引&#xff0c;e字段为一个索引 情况一&#xff1a;不符合最左匹配原则 去掉b1的条件后就不符合最左匹配原则了&#xff0c;导致索引失效 情况二&#xff…...

Android RecyclerView 之 列表宫格布局的切换

前言 RecyclerView 的使用我就不再多说&#xff0c;接下来的几篇文章主要说一下 RecyclerView 的实用小功能&#xff0c;包括 列表宫格的切换&#xff0c;吸顶效果&#xff0c;多布局效果等&#xff0c;今天这篇文章就来实现一下列表宫格的切换&#xff0c;效果如下 一、数据来…...

妈妈的爱依然深沉

村里的孩子为了买化肥&#xff0c;跟城里官老爷们借了好多钱。 那几年庄稼转手很快&#xff0c;不是用来吃的&#xff0c;因此借钱成本很高&#xff0c;大概LPR加100bp。 后来村里孩子终于发现庄稼终究只能用来吃&#xff0c;不再热衷买卖化肥。可是官老爷们的金融生意还要继续…...

net.ResolveTCPAddr(“tcp6“, address)

尝试解析 "www.google.com" 的IPv6地址。如果解析成功&#xff0c;程序将打印出解析后的IP地址、端口以及区域信息。如果解析失败&#xff0c;程序将打印出错误信息。 需要注意的是&#xff0c;如果 "www.google.com" 没有IPv6地址&#xff0c;或者本地网络…...

mysql和mybatisPlus实现:datetime类型的字段范围查询

前提说明 数据库在存储数据时,我们为了精确一下时间,便会把改时间类型的字段设置为datetime类型; 在过滤数据库数据时,我们又需要对该字段进行一个范围的过滤 由此,便出现了这篇博客 datetime数据类型 在MySQL中,datetime数据类型用于保存日期和时间的值。它的格式为Y…...

学习笔记:用ROS接收rosbag发布的topic

用ROS接收 bag.open发布的topic python语言 要使用ROS接收保存在rosbag文件中的话题消息&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.首先&#xff0c;请确保你已经安装了ROS和相关的依赖。 2.创建一个ROS功能包&#xff08;或使用现有的功能包&#xff09;来处理…...

LAMP架构介绍配置命令讲解

LAMP架构介绍配置命令讲解 一、LAMP架构介绍1.1概述1.2LAMP各组件的主要作用1.3各组件的安装顺序 二、编译安装Apache httpd服务---命令讲解1、关闭防火墙&#xff0c;将安装Apache所需的软件包传到/opt/目录下2、安装环境依赖包3、配置软件模块4、编译安装5、优化配置文件路径…...

C语言之函数题

目录 1.乘法口诀表 2.交换两个整数 3.函数判断闰年 4.函数判断素数 5.计算斐波那契数 6.递归实现n的k次方 7.计算一个数的每位之和&#xff08;递归&#xff09; 8.字符串逆序&#xff08;递归实现&#xff09; 9.strlen的模拟&#xff08;递归实现&#xff09; 10.求…...

SpringBoot的四种handler类型

Controller ReuestMapping 实现Controller接口 使用Component将该类封装成一个Bean 实现HttpRequestHandler 实现RouterFunction...

基于KNN算法的鸢尾花种类预测

导入数据 iris_data load_iris() iris_data.data[0:5, :]array([[5.1, 3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2],[4.7, 3.2, 1.3, 0.2],[4.6, 3.1, 1.5, 0.2],[5. , 3.6, 1.4, 0.2]])# 特征值名称 iris_data.feature_names[sepal length (cm),sepal width (cm),petal length (cm…...

英语-面试

自我介绍 hi,my name is tzh,26 years old.I major in software engineering. I participate in the design and development of the social project and e-commerce project. I master java and algorithm. Im familiar with gateway,spring,springboot,springcloud,redis…...

文件传输协议

文章目录 一、FTP1. 定义2. 端口3. 数据传输方式主动方式被动方式 二、TFTP三、常用命令 首先可以看下思维导图&#xff0c;以便更好的理解接下来的内容。 一、FTP 1. 定义 文件传输协议&#xff08;FTP&#xff09;是一种用于在客户端和服务器之间进行文件传输的标准网络协…...

Llama-2大模型本地部署研究与应用测试

最近在研究自然语言处理过程中&#xff0c;正好接触到大模型&#xff0c;特别是在年初chatgpt引来的一大波AIGC热潮以来&#xff0c;一直都想着如何利用大模型帮助企业的各项业务工作&#xff0c;比如智能检索、方案设计、智能推荐、智能客服、代码设计等等&#xff0c;总得感觉…...

白嫖idea

白嫖idea 地址 https://www.jetbrains.com/toolbox-app/...

PyCharm切换虚拟环境

PyCharm切换虚拟环境 为了满足不同任务需要不同版本的包&#xff0c;可以在Anaconda或者Miniconda创建多个虚拟环境文件夹&#xff0c;并在PyCharm下切换虚拟环境。 解决方案 1、打开Ananconda Prompt 2、创建自己的虚拟环境 格式&#xff1a;conda create -n 虚拟环境名字…...

自动化运维工具-----Ansible入门详解

目录 一.Ansible简介 什么是Ansible&#xff1f; Ansible的特点 Ansible的架构 二.Ansible任务执行解析 ansible任务执行模式 ansible执行流程 ansible命令执行过程 三.Ansible配置解析 ansible的安装方式 ansible的程序结构&#xff08;yum安装为例&#xff09; ansibl…...

一、Mycat2介绍与下载安装

第一章 入门概述 1.1 是什么 Mycat 是数据库中间件。 1、数据库中间件 中间件&#xff1a;是一类连接软件组件和应用的计算机软件&#xff0c;以便于软件各部件之间的沟 通。 例子&#xff1a;Tomcat&#xff0c;web中间件。 数据库中间件&#xff1a;连接java应用程序和数据库…...

链表的介绍

链表是一种常用的数据结构&#xff0c;它可以动态地添加、删除、查找和遍历元素。链表由多个节点组成&#xff0c;每个节点包括一个数据项和一个指向下一个节点的指针。这种数据结构可以高效地插入和删除元素&#xff0c;但相对于数组来说&#xff0c;查找元素的效率较低。 插…...

深度剖析:数据服务API的安全性与隐私保护

随着互联网技术的飞速发展&#xff0c;数据服务API已经成为了企业和个人获取、处理和分析数据的重要工具。然而&#xff0c;数据服务API的安全问题也日益凸显&#xff0c;尤其是在用户隐私保护方面。本文将深入剖析数据服务API的安全性与隐私保护问题&#xff0c;并结合产品FDL…...

MediaPlayer音频与视频的播放介绍

作者&#xff1a;向阳逐梦 Android多媒体中的——MediaPlayer&#xff0c;我们可以通过这个API来播放音频和视频该类是Androd多媒体框架中的一个重要组件&#xff0c;通过该类&#xff0c;我们可以以最小的步骤来获取&#xff0c;解码和播放音视频。 它支持三种不同的媒体来源…...