云吸狗吸出的啊哈时刻

——一颗吃饱没事干强行撸猫老被咬的卤蛋对搞笑萌宠推特WeRateDogs的过度分析

仅以此文献给高冷狂傲拽炸天见鸡胸肉一秒变乖的蛋蛋:

蛋蛋的帅照

(一脸怨念地)如果不是因为我每次去撸你你都狠狠咬我的手,这个项目早八百年前就撸完了(cai guai)~

综述

这个项目是优达学城(Udacity)数据分析师(进阶)纳米学位的第二个项目。以数据清洗的演练为主要目的,并附带了额外的分析部分。

我们分析的数据集是推特用户 @dog_rates 的推特记录,推特昵称为 WeRateDogs。WeRateDogs 是一个推特主,他以诙谐幽默的方式对人们的宠物狗评分。这些评分通常以 10 作为分母。但是分子则一般大于 10:11/10、12/10、13/10 等等。为什么会有这样的评分?因为 "They're good dogs Brent." WeRateDogs 拥有四百多万关注者,曾受到国际媒体的报道。(这一段搬运自优达学城的项目介绍文件,略有修改)

我们在原始数据集中发现了14个问题,其中12个是质量问题,2个是整洁度问题。随后我们进行了一系列清洗操作。清洗操作完成后,我们为数据集手工添加了5个新的特征。最后,我们得到了15年11月-17年8月,账号发出的1991条推文和它们相关的数据。在以点赞量和转赞比为核心指标,进行了推文受欢迎程度的主题探索后,我们发现以下三个有趣的现象:

  • 人们对不同品种的狗的喜爱程度没有统计学意义上显著的区别;
  • WeRateDogs推文中,关于小狗的没有关于大狗的受欢迎;
  • 推主打出的低分和高分推文在受欢迎方式上有区别:低分推文的转赞比较高,而高分推文的平均点赞量更高。

我们自信,截至2019年2月底,这个项目数据所作清洗的细致程度和后续分析的深度,在全球这一项目的所有公开作品中都能排在前列。

希望查看项目代码,完整代码输出和数据集的朋友,请移步至此项目的GitHub页面。代码输出中的文案如与此文(或项目报告文件内容)不同,以此文(或项目报告文件内容)为准。代码输出中的文案未经编辑和校对。

1. WeRateDogs是什么?可以补钙吗?

WeRateDogs推特头像

WeRateDogs是推特上受欢迎的萌宠推主之一。其主要风格为搞笑,具体表现形式为使用推文为一张狗狗(well,理论上都是)的照片进行十分制的打分。尽管其满分为10分,但推主常常打出10分以上的高分(13,14等),并一本正经的配上推文说明理由,十分有趣。推主有时也会一本正经给一些并不是狗的照片打分,喜剧效果十足。某些时候某些狗狗会被刻意打出低分,同样配上令人捧腹的推文。

WeRateDogs创建于11月15日。创始人时坎贝尔大学的(辍)学生Matt Nelson,当时读该校高尔夫管理专业的大二学生。当时,他和他的朋友们一起在一家苹果蜜蜂餐厅(Applebee's)的餐桌旁,用WeRateDogs账号发出了第一条推特。

如同天底下所有真实的创业故事那样,这个独特的推特账号的发展并非一帆风顺。15年11、12月是最初的激情,很快挑战便接踵而至:

  • 大学繁重的课业使得Nelson疲惫不堪,严重睡眠不足,甚至不得不放弃了高尔夫球(well,作为一名高尔夫管理专业的学生,这好像有点,emmm......too much);

  • 16年2月,甚至有人给他下套,声称WeRateDogs侵犯了图片版权;

  • 16年春季,他招聘并最终开除了两名员工;其中一位还想买下他的账号。

正在发推的Matt,和知道他在云吸狗并十分哀怨的大金毛Zoey

这里当然没有主人公强撑这,凭着极度的自信、过人的胆识强撑着运营,并最后成功逆袭的故事。身心俱疲的Nelson当然想过放弃。他联系了John Ricci,一位拥有丰富社交媒体运营经验的市场人,想要卖掉账号一了百了,没想到后者居然拒绝了。Rucci看到了账号的潜力,极力劝说Matt改变方式坚持运营,并在16年某个未知的时间点开始帮助他运营。Rucci每天帮Matt筛选出20-30张各地粉丝发来的请求打分的照片,而Nelson则挑出两张,分别在中午和晚上8:00左右发出即可。慢慢的,Nelson重新找到了节奏。17年某个未知的时间点,升入大四的Nelson退学,全心投入推特账号的运营。

现在,WeRateDogs主要依靠自营电商盈利,向通过推特账号积攒的粉丝售卖写有推特账号标志性语录的狗狗围巾、卫衣等。Nelson自己透露,每个月的收入在1万美元左右。

综合自下列报道

2. 我们为啥闲着没事儿干会对一个推特账号感兴趣?

Well,首先,这是一份作业。命题作文的命题如此,不研究它还能研究啥。

不过嘛,这个推特账号也不是特别没有意思。显然,WeRateDogs误打误撞探索出的这一定位十分有趣。如果我们拍一拍脑门调取一下我们的(未经检验、直觉构成的)常识,我们不难认为在传统上:
1)萌宠推主千千万万;
2)绝大多数萌宠的推文都停留在“啊!好萌!”的层次上;
3)萌宠推主们之间的竞争主要依靠谁更萌获胜;
4)这样的生态体系显然很容易导致严重的同质化,进而演变为洗稿和相互抄袭;
5)给狗狗评价和打分的博主又太过严肃显得不近人情;
6)传统的搞笑博主又几乎没有与宠物结合起来的。

通过直觉,我们不难得出马后炮式的经典结论:系统性的发掘狗狗的萌点,并通过带有喜剧色彩的文案强化,最后配上打破传统令人捧腹的打分和评价,令人耳目一新。这并不令人意外(说得就好像我们也能搞出来一样)。

但是,正如开心麻花的喜剧,在让观众开怀大笑之余,也有商业和受欢迎程度的考量一样,WeRateDogs的内容质量显然也是有部分更受欢迎的。问题是,究竟是怎样的内容更受欢迎呢?

在进行分析之前,我们需要明确,什么是“更受欢迎”。传统意义上,我们需要知道一条推特在发出的时候有多少关注者,这条推特有多少浏览量,多少点赞数和多少转发数,来一步一步计算转化比例。在这一框架中,更多的浏览量可能意味着火爆,但运营者们显然更关注点赞和转发的数据。

在这篇过度分析中,我们将围绕两个维度进行受欢迎程度的探索:

  • 点赞量,在拿不到关注量和浏览量这两个数据的前提之下,点赞量(数据集中叫favorite,Teitter上实际叫like)是最能直接反映一条推文得到关注和赞赏的指标;

  • 转赞比(Retweet/Favorite Ratio),衡量的是转发用户占点赞用户的比例,用于衡量核心用户占整体点赞用户的比例;

    转赞比可以用来衡量核心用户占比的理论依据如下:

  • 一个用户在社交网络上发出的内容,本质上都是他/她的社交货币;

  • 社交货币是建立人设的一部分,是用户与周遭用户交流的一种前置条件,因此相比起点赞,转发更加困难,因其牵扯到个人形象问题;

  • 社交货币依靠转发和原创内容生成;点赞不涉及分享,绝大多数社交网络(嗯我没有说微信朋友圈)里看不到点赞的详细信息,并不构成社交货币;

  • 转发,意味着用户愿意将推文内容作为自己人设的一部分;这可能意味着他/她是这一话题的核心粉丝,并且不介意周围人知道这一点,哪怕,在此案例中,这枚社交货币是娱乐用途。

3. 推特账号运营的基本情况一览

在尝试使用数据解答任何问题之前,需要使用数据对全局进行大概的了解。不然任何分析都是无源之水无本之木。

3.1 WeRateDogs的啊哈哈时刻

最棒宝贝:勤奋好学大柯基!14分!(最高评分)

学霸基本基

This is Cassie. She is a college pup. Studying international doggo communication and stick theory. 14/10 so elegant much sophisticate https://t.co/t1bfwz5S2A

最佳人气:妇女之友!(最多点赞)

妇女之友

Here's a super supportive puppo participating in the Toronto #WomensMarch today. 13/10 https://t.co/nTz3FtorBc

最多铁粉:超萌小柯基!(最高转赞比)

超萌小柯基

Retweet the h*ck out of this 13/10 pupper #BellLetsTalk https://t.co/wBmc7OaGvS

欸喂喂喂,Matt你这样构成诱导分享啊!不怕被平台封吗?!

特别·最具惊喜奖:最新发现的神秘物种!

咦这是什么奇怪的狗狗~

Cool dog. Enjoys couch. Low monotone bark. Very nice kicks. Pisses milk (must be rare). Can't go down stairs. 4/10 https://t.co/vXMKrJC81s

以及,特别·最佳粉丝奖(& 最少铁粉奖):天生慧眼Kelvin Hill !

火眼金睛就是你~

3.2 分数越来越高,当然是因为超棒狗狗越来越多啦!

狗狗平均评分逐月走势

将账号打出的分数按月汇集,绘制为箱型图。平均分数越来越高;单月的分数区间越来越小

3.3 成长的烦恼:转赞率一路下滑

推特点赞/转发量延时间轴分布

将每一条推特信息的点赞量(绿)和转发量(黄)取10的对数后绘制成散点图;将转赞率取5日移动平均值绘制为折线图;取账号点赞量创下新高的推特,用红色做特别标注。三者沿同样的时间序列排序。

随着时间的推移,虽然账号的点赞量和转发数都在上涨,但新高间隔越来越长,转赞比一路下降的趋势不可逆转。

3.4 爆发—跌倒—站稳脚跟:艰难的16年4月,账号历史上的至暗时刻

账号运营情况逐月变化情况

将账号的推特条数(红色折线),点赞量和转发量按月汇总,分别绘制加(上)和和平均值(下)的柱状图。

在初期的爆发之后,16年春季推特账号的点赞量和推特条数不断下滑。结合媒体的报道,当时账号确实正在经受初期的失败和团队动荡。不过在如此的压力之下,Matt的推文质量(平均点赞量和转发量)还能保持,非常厉害!

4. 推文几点,星期几发都行:客观因素对推文受欢迎程度影响不大

4.1 Matt Nelson是个夜猫子,越夜越疯狂那种

推文状况(按小时聚合)
推文状况(分年按小时聚合)

将推文数据按小时聚合,绘制点赞量、转发量,转赞比和推文条数。

我们发现:MattNelson喜欢在下午和晚上发推。

不过,为他创下了最高点赞量的式凌晨6点的一条推文。就是这条推文,使我们不得不给这幅图的y轴主坐标取对数。不得不说,他老人家真的是越夜越疯狂啊~

不过,17年他再也没有在5点到13点之间发过推特了。被妈妈骂了?

4.2 周一生产力爆棚,但对推文的受欢迎程度影响不大

推文状况(按周聚合)
推文状况(分年按周聚合)

将推文的发帖量,平均点赞量和转发量按星期汇集。

长期来看:周一Matt的发帖量略高,周三平均点赞量更高,但总体趋势平缓。我们不认为这其中蕴藏着什么秘密。

当然,我们有可能是错的。如果将数据去趋势化再聚集,说不定就是另外一个故事了。

5. 众汪平等,小狗疲劳,与高低有别——对推文特征的观察

在我们提取了一系列推文特征之后,我们最终得出了这三个有意思的结论。

5.1 众汪平等

平均点赞量Top10

筛选出数据集中被机器学习判断“一定是狗”的条目。按照品种字段聚合,计算平均点赞量,平均转赞比和推特条数。选出前10名,按照平均点赞量由高到低排列。可以看到:萨卢基猎犬,法国斗牛犬等品种有相对更高的平均点赞量。

但是,我们进一步的检验表明,这些品种中存在的平均点赞量和转赞比的区别并没有统计学意义上的区别:根据已知的条件判断,随着推特条数的增多,这些品种的平均点赞量和平均转赞比很可能趋于一致。也就意味着,我们没有足够的证据认为他们的受欢迎程度是不同的。(冗长的统计学证明我们就不贴上来啦~)

5.2 小狗疲劳:小奶狗居然不吃香?!

狗狗大小与受欢迎程度

推主Marr Nelson在表述狗狗的时候发明了如下词汇:

  • Doggo,可以简单的理解为大狗(尽管作者表示这并不代表大狗就不是宝宝了)
  • Pupper,可以简单的理解为小狗,主要是体型小,一般年龄也比较小(但这不代表大狗就不是宝宝了)
  • Puppo,可以简单的理解为青春期的狗狗,介于大狗和小狗之间(也可能是表现得像pupper的doggo)
  • Floofer,可以简单的理解为毛好看的狗狗。

这些词汇主要用于形容不同狗狗的生长状态。从词汇构成的角度来看,其主要由一个主词汇和后缀变体组成(例如doggo = dog + go, pupper = pup + per),营造出一种喜庆但略显低龄化的语言现象(待补充)。上述所谓的“简单理解”,是指在尽可能不曲解原意的情况下,抛弃作者营造的一切搞笑成分,并尽量压缩理解难度。总而言之言而总之一言以蔽之,这个分类比较随意,亲爱的读者你大概知道这么个意思就行。

我们按照上述分类条件将推文汇总。我们发现小狗和未说明的推特条目似乎没有其他分类平均点赞量高。进一步的统计分析则支持了上述观察。看来在Matt这里萌萌哒的小奶狗不太行呀~

5.3 高低有别:低分有铁粉,高分更吸睛

不同分数等级的推文点赞与转发量分布情况(嗯我们最满意的一张图无误了)

我们将分数分为4个等级:

分数段 类别(中) 类别(英)
0-3.5 极低 Very Low
3.5-7 Low
7-10 Medium
10-14 High

以推文的点赞量和转发量分别为横、纵坐标绘制散点图,并表明其分数类别,可以看到不同的分数组在分布上有明显的差别。

不同分数等级的受欢迎程度

以上述分数段分组,绘制点赞量和转赞比的箱型图。似乎高分组的平均点赞量更高,低分与超低分组拥有更高的转赞比。后续的统计学检验支持了我们这一结论:低分有铁粉,高分更吸睛

这可能是由于低分组主要集中在账号创立早期,转赞比本身就较高的时代,拉高了平均值。下图显示了分数分组占比的逐年变化情况。

分数等级的逐年占比变化图

附录:数据集的基本情况介绍,及数据清洗步骤简介

数据集基本情况简介

综述

我们一共使用了三个数据集。分别是:

  • twitter_archive_enhanced.csv:包含推文内容,推文id和使用编写糟糕的程序提取的一些特征。
  • tweet.json:每条推特的附加数据,包含了推文的转发和点赞情况(因此也是此项目的核心数据集)。此数据集我们直接使用了优达学城提供的版本,没有选择通过Twitter API获取。
  • image-predictions-download.tsv:包含对推文图片中狗狗品种的预测。按照项目要求,这个文件使用了Requst库获取。
主数据集字段名称及字段描述
列名称 含义
tweet_id 推文id
timestamp 推文时间戳
text 推文内容
rating_numerator 推文中对狗狗评分的分子
rating_denominator 推文中对狗狗评分的分母
name 推文中狗狗的名字
doggo 狗狗是否为大狗
floofer 狗狗是否是毛好看的狗狗
pupper 狗狗是否是小狗
puppo 狗狗是否是青春期的狗狗
retweeted_status_id 推文是否是转发推文

识别出的数据集问题

质量问题
  1. 主数据集中,name列有大量空值,和错误的情况;
  2. 主数据集中,部分数据错误的提取了其他包含“/”的文本作为分数,这些数据被保存在了tweets_mulpitple_number数据集中;
  3. 主数据集中,有一行数据虽然包含数字,但是一条筹款的推文,并不包含评分;这条数据被保存在了tweets_fund_raise数据集中;
  4. 主数据集中,部分数据存在多只狗狗统一打(总)分的情况,导致这些条目的分子和分母显著较高;这些数据储存在tweets_multiple_dogs中;
  5. 主数据集中,部分数据存在推文主题真的是狗狗的情况下,有分子提取错误的情况;主要体现在这些分数为了某些纪念日等,使用了特殊的小数分数;这些数据储存在tweets_wrong_numerator_dog中;
  6. 主数据集中,部分数据在主题可能不是狗的情况下,有分子提取错误的情况;这些数据储存在了tweets_wrong numerator_NOT_dog数据集中;
  7. 主数据集中,timestamp列数据类型错误;
  8. 主数据集中,有部分数据属于转发的推特,与原始数据重复;
  9. 主数据集中,部分数据里只有一只狗,却因为text列中包含两个狗狗分类的信息,而拥有两个分类;这些数据被储存在了_1dog_2stage数据集中;
  10. 主数据集中,部分数据,一条推特对两只处于不同生长阶段的打了同样的分数,因此拥有两个分类;这些数据被储存在了_2dogs_1tweet数据集中;
  11. 包含转发和点赞信息的retweets_lite数据集中,id列应更名为tweets_id,与dogrates_litebreeds_lite保持一致;
  12. 主数据集中,有部分数据包含两组正确的分数,但只提取了一组;这些数据被保存在了tweets_multiple_number_case2数据集中(tweets_multiple_number中的数据不在此列)。
整洁度
  1. 主数据集中,doggoflooferpupperpuppo四列是一个变量的观察结果,应该被储存在一列中;
  2. 包含转发和点赞信息的retweets_lite数据集应当和主数据集dogrates_lite合并,因其观察的而对象是相同的。

数据清洗的步骤

针对质量问题的操作:
  • 删除影响分析的数据
    • 删除了一条tweet_id为810984652412424192的推特,因其是一条筹款推文,并不包含这份报告的分析范围之内;
    • 删除了两条评分显著异常的推文,其中一条庆祝了美国独立日,另一条似乎是为名人;
    • 在验证转发数据不包含任何未知的信息后,我们抓住转发推特都带有“RT @”的特征删除了他们
  • 补全空值
    • 通过优化的正则表达式重新提取了狗狗的名字:我们重做了name列,存在多只狗狗的推文,其name列值使用了&将两名字连接(可能影响了名字频率统计);
  • 修复错误
    • 修复语言表达造成的的一只狗狗对应多个分类问题(人工辨别,手动清理)
    • 修复推文中就是有两只不同分类的狗狗的问题:我们为这类推文单独建立了一个分类(使用&连接不同的分类名称),顺便解决了狗狗生长状态四列需要合并为一列的问题;
    • 修复推文中存在多个“/”导致分数提取错误的问题:我们提取了存在该项错误的行,使用专为这项任务涉及的正则表达式重新提取分数信息,并将这些分数信息更新回原数据集;
    • 修复小数点导致的分数提取错误的问题:显然在推特账号的发展过程当中,推主的打分标准发生过一些变化;
    • 修复推文中包含两组正确的分数,但只提取了一组的问题:我们使用一个新的正则表达式为这些行提取了这些分数,并将它们暂存在新的分数列中;
    • 修复了一条推文对多只狗狗打总分的情况:我们抛弃了原来的分数系统,直接计算了每一条推文所有分数的平均分作为推文的唯一分数;在修复这一问题的过程中,也顺便解决了上一条错误修复导致的一条推文有两个分数的问题;
    • 修复了dogrates数据集下timestamp列数据类型错误的问题:将其修正为datatime数据类型;
    • 统一了不同数据集中代表同一变量的不同列名称;
    • 修改了breeds_clean数据集中不适宜的名称。
针对整洁度问题的操作:
  • 将标明狗狗生长状态的四列合并为一列(已在针对质量问题修复的过程中修复)
  • 将项目涵盖的三个数据集合并,因其观察的对象本质上是一样的。

对数据集的进一步探索

在以上工作完成之后,我们确实得到了一个清洗干净的数据集,但它还不足以解答我们的问题:有没有因素能帮助我们确定,这条推文会更受欢迎?为此,我们在上述工作的基础之上,进一步提取了如下信息,以帮助我们进一步探索数据集:

  • 通过人称和物主代词,利用正则表达式,从text列提取推文主体的性别信息;这一步骤的执行效果似乎比网上其他同学的效果要好,有更少的遗漏,并通过人工辨别修复了一些错误;
  • 启用全新变量“转赞比”:通过计算转发/点赞的比例,得出某一条推文更深层次受欢迎程度;
    • 通过这项指标,一般的分析中我们也无需再看单独的转发数量;
    • 通过这一指标,我们能更好的衡量推特账号核心粉丝的变化情况,并为深入分析打下基础;
  • 计算了推文点赞量和转发量的各项里程碑,以帮助我们更好的理解推特账号的发展历程;
  • 将评分分组,以衡量不同分数之间的点赞量和转赞比情况;1分,7分和13分一定代表着三种不同的推文风格,其受欢迎程度的不同显然值得我们进一步探索;这项分析与回归分析的结论结合,可能能让我们有更进一步的思考;
  • 将推文是否是狗进行分类:我们注意到,图像预测机器学习的数据集里,对同样图像做了三次预测。我们发现,综合考虑其三次预测的结果,能够更好的说明推文的实质内容。我们根据图像预测的结果将推文分成了三大类:不是狗(三次预测结果全部为False),有可能是狗(三次预测结果有一次为True),和是狗(三次预测结果全部为True)。根据我们列举的例子,这三类实质上代表了不同类型的内容,也决定了推主在表达时的推文风格可能也有所不同,而这很可能能够帮助我们进一步不同推文的探索受欢迎程度的区别。

其他可能值得一提的技术细节

  • 能够快速通过主键跨数据集筛选和调取数据的ISIN函数。其逻辑和可拓展性都大大强于常见于CSDN的利用join去数据集差集的方法;
  • 绘制饼状图,并自动忽略指定比例下注解的value_count函数;
  • 使用plotly绘制的可交互可视化;
  • 使用seaborn绘制复杂的包含多个子图的可视化图像,和对可视化颜色的全方位主动控制。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容

  • 想抓着风的手去过想要的自由白云是姐妹星星是追求想和太阳拜桃园去和月亮谈一场恋爱再到大海去游泳去那夜空寻自由我想抓着...
    守海入梦阅读 687评论 14 12
  • 千寻1997阅读 1,171评论 0 2
  • 每个失眠的夜晚 都怀揣着一颗年少炽热的心脏 在黑暗的深处有规则的律动着 那样有力 那样真实 伴着不变的初心和期待...
    子衿Souler阅读 118评论 0 0
  • 1.Series对象的组成元素 1)查看对象元素 2)统计重复元素个数 3)判断一个元素是否在对象中 >>> im...
    杨大菲阅读 294评论 0 1
  • 诺~打卡放假第一天,我跟小外甥第一次合作成功,放出我们的国庆巨制~
    肖何59阅读 174评论 0 1