New York City Airbnb Open Data Analysis

New York City Airbnb Open Data Analysis 以下流程参考自 https://www.kaggle.com/code/chirag9073/airbnb-analysis-visualization-and-prediction 导入库 using MLJFlux, Flux, MLJ, DataFrames, CSV, StatsBase using WordCloud 加载数据 origindata = CSV.read("data/newyork-city-airbnb-open-data/AB_NYC_2019.csv", DataFrame) 观察数据 你可以像教程那样 也可以,像我一样,用 excel 打开 csv 文件 我写了一个表格,记录我观察到的结果 column missing count type type coerce fill/drop id 0 Int Count => Continuous None name 16 String? Multiclass Drop host_id 0 Int Count => Continuous None host_name 21 String? Multiclass Drop neighbourhood_group 0 String15 Multiclass => Count => Continuous None neighbourhood 0 String31 Multiclass => Count => Continuous None latitude 0 Float64 Continuous None longitude 0 Float64 Continuous => Multiclass => Continuous None room_type 0 String15 Multiclass => Count => Continuous None price 0 Int Count => Continuous None minimum_nights 0 Int Count => Continuous None number_of_reviews 0 Int Count => Continuous None last_review 10052 Date?

数据可视化 电影数据分析

数据可视化 电影数据分析 说明 这次的文章参考自 https://zhuanlan.zhihu.com/p/35453189 提出问题 简单分析制作一部电影时,应考虑哪些客观因素才能使电影成功? 为客户提供有效的数据一句,以便作出更准确 的决策 本次数据分析报告主要围绕一下几点进行分析 问题一:电影类型如何随时间发生变化? 电影数量上的对比 电影收入的对比 问题二:影响电影收入的客观因素有哪些? 这个不会,先放一放 问题三:两家电影公司Universal Pictures 和 Paramount Pictures之间的对比。 电影发行数量上的对比 电影产生的利润对比 问题四:改编电影和原创电影之间的对比。 电影发行数量上的对比 电影产生的利润对比 理解数据 重点关注的变量有: imdb_id IMDB 标识号 popularity 在 Movie Database 上的相对页面查看次数 budget 预算(美元) revenue 收入(美元) original_title 电影名称 cast 演员列表,按 | 分隔,最多 5 名演员 homepage 电影首页的 URL director 导演列表,按 | 分隔,最多 5 名导演 tagline 电影的标语 keywords 与电影相关的关键字,按 | 分隔,最多 5 个关键字 overview 剧情摘要 runtime 电影时长 genres 风格列表,按 | 分隔,最多 5 种风格 production_companies 制作公司列表,按 | 分隔,最多 5 家公司 release_date 首次上映日期 vote_count 评分次数 vote_average 平均评分 release_year 发行年份 budget_adj 根据通货膨胀调整的预算(2010 年,美元) revenue_adj 根据通货膨胀调整的收入(2010 年,美元) 导入数据 using MLJFlux, Flux, MLJ, DataFrames, CSV, StatsBase, Dates import JSON creditsdata = CSV.

Julia 简单爬虫编写

项目介绍 我想试试 do everything in Julia,所以这里我简单写了一个爬虫,来爬取涩图 https://github.com/nesteiner/WebCrawl.jl 安装包 以下的包先安装好 HTTP 用于获取 HTTP Gumbo 用于解析 HTTP Cascadia 使用 CSS Selector 解析 HTTP URIs 用于uri 的解析 我们要爬取的 url 在这里 未成年人请在父母陪同下点击 工具函数 Julia 原有的 joinpath 不能满足我们的需求,比如我们要合并这两个 url https://example.com/hello /hello/1 合并后的结果应该是 https://example.com/hello/1 ,可 joinpath 合并后的结果是 /hello/1 这里我们使用 URIs 中的 resolvereference 来简单写一个 urljoin function urljoin(base::AbstractString, ref::AbstractString) return string( resolvereference(base, ref) ) end 整体流程 首先我们定义一个全局的 CONFIG 对象,来设置一些参数,比如 代理地址 请求头 Cookie User-Agent 我们再定义解析函数 parse ,由于处理方式与 scrapy 不太一样,没有必要将接口设计成一样 parse(startpage::String, dict::Dict{String, T}) where T <: Any 由于出现分页,我们需要开始递归解析页面,我们从 startpage 开始解析, dict 存储一些额外参数,如 存储的文件夹位置 图片的名称 调用解析函数时,我们还会处理图片下载请求 pipeline(image::String, path::String) 他将从 image 下载资源,存储到 path 中 详细代码 参考 test/runtests.

Android 数据绑定简单使用

Android 数据绑定简单使用 这次我们要替代获取控件的方法,以前是使用 findViewById 一个一个拿到控件 现在我们需要直接在 layout 中注入数据对象,我们还要直接通过 id 访问到控件 数据绑定 启用数据绑定 在 build.gradle 中添加如下代码 android { dataBinding { enable = true } } 即可开启数据绑定 修改布局文件 先看 Vue 中的数据绑定是怎样操作的 <template> <div class="container"> <span> {{data}} </span> </div> </template> <script lang="ts" setup> const data = 'hello' </script> 在 XML 中 layout 类似 template 使用 data 标签声明数据 假设有数据类型 User public class User { public String name; public String password; public User(String name, String password) { this.

Android 通信简单应用

Activity 之间通信 从一个 Activity 跳转到另一个 Activity 时,可以携带一些数据进去,这个就是 Activity 之间的通信 跳转到 Activity 之后可以响应通信,不过需要发起端调用 startActivityForResult ,接收端调用 setResult 这种通信方法我不能类比到组件之间的通信,组件之间通信都是单向数据流,这个是 双向数据流 原来的通信方法 通信发起端 跳转需要借助 Intent 对象,指定来源的上下文和目标的类,调用 startActivity 即可 Intent intent = new Intent(this, TargetClass.class); startActivity(intent) 如果需要携带数据,创建一个 Bundle 对象绑定到 Intent 即可 Intent intent = new Intent(this, TargetClass.class); Bundle bundle = new Bundle(); bundle.putString("message", "Hello World"); intent.putExtras(bundle); startActivity(intent); 其实也可以不用 Bundle ,直接给 Intent 来添加 通信接收端 跳转到接收端后,使用 getIntent 来获取对端的 Intent 对象,并查看绑定的数据 Intent intent = getIntent(); Bundle bundle = intent.

Android Room 简单使用

Android Room 简单使用 说明 这次没有用内置的 SQLite 库,而是直接使用了 Room ,原因之一是 SQLite 在创建数据库的时候出错了,排查不到哪一步出错 二是这个 Room 与 Flutter 中的 floor 框架非常相似,可以无缝迁移 添加依赖 在 src/build.gradle 中 dependencies { def room_version = "2.4.2" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" } 配置类 Room 包含三个主要组件 数据库类 数据实体 数据访问对象(DAO) 他们的定义如下 数据实体 @Entity public class User { @PrimaryKey public int uid; @ColumnInfo(name = "first_name") public String firstName; @ColumnInfo(name = "last_name") public String lastName; } 数据访问对象 @Dao public interface UserDao { @Query("SELECT * FROM user") List<User> getAll(); @Query("SELECT * FROM user WHERE uid IN (:userIds)") List<User> loadAllByIds(int[] userIds); @Query("SELECT * FROM user WHERE first_name LIKE :first AND " + "last_name LIKE :last LIMIT 1") User findByName(String first, String last); @Insert void insertAll(User.