[PYTHON] Ich habe die Naro-Roman-API 2 ausprobiert

Ich habe beim Lesen von Narurou Novel API einen interessanten Befehl gefunden, daher werde ich ihn vorstellen und analysieren.

Gesprächsrate

|Parameter|Wert|Erläuterung| |:--|:--|:--| |kaiwaritu |int string |Die Konversationsrate des zu extrahierenden Romans%Sie kann in Einheiten angegeben werden. Wenn Sie einen Bereich angeben, trennen Sie die minimale und maximale Anzahl von Bindestrichen(-)Bitte mit einem Symbol trennen.

Das war's. Gesprächsrate …… Ich frage mich, ob es nur ein Gespräch oder der Teil des Bodens ist

Dann sofort

Bereiten Sie das Laden vor und laden Sie die Bibliothek

before_load.py


import pandas as pd
import requests
import numpy as np
import seaborn as sns
from scipy import stats
import matplotlib.pyplot as plt
%matplotlib inline

url = "http://api.syosetu.com/novelapi/api/"

narou_load.py


st = 1
lim = 500

data = []
while st < 2000:
    payload = {'of': 't-gp-gf-n-ka', 'order': 'hyoka',
          'out':'json','lim':lim,'st':st}
    r = requests.get(url,params=payload)
    x = r.json()
    data.extend(x[1:])
    st = st + lim
df = pd.DataFrame(data)

df.head()

payload = {'of': 't-gp-gf-n Sie können es laden, indem Sie diesem Teil einen Teil namens "ka" hinzufügen. (Oben hinzugefügt) Und die Daten, die herauskommen

title kaiwaritu(%)
Es war Schleim, als ich wiedergeboren wurde 14
Der Stärkste der Welt in einem gemeinsamen Beruf 40
Mit lächerlichem Geschick in eine andere Welt wandern 36
Arbeitslose Reinkarnation-Wenn Sie in eine andere Welt gehen, werden Sie ernst- 22
Ein weiteres Welt-Fantasy-Lied ab Death March (Webversion) 38

Das war's. Es ist ziemlich teuer (Lüfter) Ich weiß jedoch nicht, wie teuer das überhaupt ist, also versuchen Sie es mit "beschreiben ()"

kaiwaritu
count 2000.00000
mean 38.00800
std 10.66831
min 0.00000
25% 31.00000
50% 38.00000
75% 45.00000
max 96.00000

Das war's. Geht es um den Durchschnitt, wenn der Durchschnitt 38% beträgt? Oder besser gesagt, die Anzahl der Zeichen ist so groß, dass es durchaus üblich ist?

Lassen Sie uns die Anzahl der Zeichen etwas eingrenzen.

Lesezeit

Ich wage es, die Lesezeit zu nutzen, ohne die Anzahl der Zeichen anzugeben Aber wie ist die Lesezeit?

|Parameter|Wert|Erläuterung| |:--|:--|:--| |time|int string|Sie können die Lesezeit des zu extrahierenden Romans angeben. Die Lesezeit ist die Anzahl der Zeichen im Roman geteilt durch 500. Wenn Sie einen Bereich angeben, trennen Sie die minimale und maximale Anzahl von Zeichen(-)Bitte mit einem Symbol trennen.|

Wie Sie sehen können, ist die Anzahl proportional zur Anzahl der Zeichen, sodass es kein Problem geben sollte, außer dass die Anzahl kleiner wird.

Fügen Sie "ti" zu "von" der "Nutzlast" hinzu und laden Sie sofort

Da es eine große Sache ist, versuchen Sie "beschreiben ()" pünktlich "

time
count 2000.000000
mean 1395.985500
std 1823.680635
min 11.000000
25% 434.750000
50% 889.500000
75% 1608.250000
max 26130.000000

Es scheint, dass es mindestens 5001 Zeichen gibt. (... Ich glaube nicht, dass Max Beschwörer ist) df[['title','time']].sort_values('time').tail()

title time
Magi Craft Meister 14868
Grenzlabyrinth und Magier einer anderen Welt 16410
Eine andere Weltkochstraße 17653
Beschwörer geht 25536
Legende 26130

** Nein **

Beziehung zwischen Lesezeit (Anzahl der Zeichen) und Konversationsrate

doku_kai.py


#Teilen Sie durch die Zeit
df['part']=pd.qcut(df.time,4,labels=['D','C','B','A'])
#Durchschnitt für jedes Teil
df.groupby('part').agg({'kaiwaritu':['mean']})
part kaiwaritu(durchschnittlich:%)
D 36.990
C 38.180
B 38.322
A 38.540

Das war eine Überraschung. Insbesondere scheint sich die Konversationsrate nicht zu ändern, ob es sich um eine lange oder eine kurze Geschichte handelt.

Stil

Ich war enttäuscht und habe versucht, eine andere Funktion namens Schreibstil zu verwenden. Dies scheint sich in der Prototypenphase zu befinden, und es gibt Fälle, in denen Daten nicht eindeutig ausgegeben werden (sie sind in erster Linie nicht eindeutig), und da sie nicht auf "of" gesetzt werden können, werde ich zwei Arten des Datenrahmenlesens durchführen

|Parameter|Wert|Erläuterung| |:--|:--|:--| |buntai |int string|Sie können den Stil angeben. Bindestrich(-)Sie können eine ODER-Suche durchführen, indem Sie sie durch ein Symbol trennen. 1: Arbeit, die nicht herabgestuft wurde und viele fortlaufende Zeilenumbrüche aufweist 2: Arbeit, die nicht herabgestuft wurde, aber eine durchschnittliche Anzahl von Zeilenumbrüchen aufweist 4: Arbeit, die für eine Herabstufung geeignet ist, aber viele fortlaufende Zeilenumbrüche aufweist 6: Arbeit, die nicht herabgestuft wurde, aber viele fortlaufende Zeilenumbrüche aufweist Funktioniert mit einer durchschnittlichen Anzahl von Zeilenumbrüchen|

Teilen Sie zunächst in "df1", "df2", "df4" bzw. "df6".

Der stärkste Weise des Disqualifikationskamms - Der stärkste Weise der Welt wurde wiedergeboren, um stärker zu werden - Der Geschmack der Tochter des Herzogs Ein anderes Weltleben eines wiedergeborenen Weisen - ich bekam einen zweiten Beruf und wurde der stärkste der Welt - Ich bin als Bösewichtstochter wiedergeboren worden, die nur die Ruinenflagge des Jungfernspiels hat ... Live Dungeon!

Eine andere Welt Cafeteria Jemand bitte erklären Sie diese Situation Hariko Maiden Ich werde leise verschwinden In der Mitte der Karriere (mittleren Alters) hat ein Mann die andere industrielle Revolution der Welt entspannt

Der Stärkste der Welt in einem gemeinsamen Beruf Arbeitslose Reinkarnation - ich meine es ernst, wenn ich in eine andere Welt gehe - Ein weiteres Welt-Fantasy-Lied ab Death March (Webversion) Re: Leben in einer anderen Welt ab Null Ich möchte eine mächtige Person im Schatten sein![Webversion]

Es war Schleim, als ich wiedergeboren wurde Mit lächerlichem Geschick in eine andere Welt wandern Ich sagte, dass die Fähigkeit durchschnittlich ist! Es ist eine Spinne, was ist das? Die magische Kraft des Heiligen ist vielseitig

Es gibt einige Klassifikationen, die ich nicht verstehe, aber ich werde es ertragen.

df1 df2 df4 df6
count 500.000000 500.000000 500.00000 500.000000
mean 36.506000 35.246000 38.74200 37.668000
std 11.489211 14.927396 9.70091 13.106691
min 1.000000 0.000000 6.00000 0.000000
25% 28.000000 25.000000 32.75000 30.000000
50% 36.000000 35.000000 39.00000 38.000000
75% 44.000000 44.250000 45.00000 46.000000
max 70.000000 98.000000 71.00000 96.000000

Betrachtet man dieses Ergebnis, obwohl es keinen großen Unterschied gab, war df2 insgesamt klein und df6 groß. Der Grund, warum die Populationen auf jeweils 500 festgelegt werden, ist, dass die erste Population 2000 war und als die Populationen in Schritten von 2000 angezeigt wurden, sank df2 weiter auf 34%.

Wenn man dies betrachtet, scheint die Konversationsrate nicht mit dem Schreibstil in Beziehung zu stehen. ~~ Ich frage mich, ob es ein Genre ist ~~

Impressionen

Das Analyseergebnis lief nicht sehr gut, aber ich fragte mich, ob es eine Praxis war, als ich in Zukunft weiter arbeitete. Wenn ich eine interessante Datenanalyse habe, würde ich sie gerne ausprobieren. Als ich es zurücklas, war ich überrascht über die niedrige Gesprächsrate von Tosura. Liegt es daran, dass es in meinem Herzen viele Gespräche gibt?

Recommended Posts

Ich habe die Naro-Roman-API 2 ausprobiert
Ich habe die neuartige API von Naruro ausprobiert
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, die COTOHA-API zu berühren
Ich habe versucht, die BigQuery-Speicher-API zu verwenden
Ich habe versucht, die Qiita-API von Anfang an zu aktivieren
Ich habe versucht, die Google Cloud Vision-API zu verwenden
Ich habe versucht, die Qiita-API zu berühren
Ich habe die Changefinder-Bibliothek ausprobiert!
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
Ich habe versucht, die Emotionen des gesamten Romans "Wetterkind" zu analysieren
[Erste COTOHA-API] Ich habe versucht, die alte Geschichte zusammenzufassen
Ich habe das TensorFlow-Tutorial als erstes ausprobiert
Ich habe versucht, eine Quip-API zu erstellen
Ich habe das 2. TensorFlow-Tutorial ausprobiert
Ich habe Teslas API berührt
Ich habe versucht, den DRF-API-Anforderungsverlauf mit django-request zu speichern
Ich habe versucht, die API-Bibliothek NAPALM für Router-Steuerungen mehrerer Hersteller zu berühren
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe die Google Cloud Vision-API zum ersten Mal ausprobiert
Ich habe versucht, verschiedene Informationen von der Codeforces-API abzurufen
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
[Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden
Ich habe versucht, die COTOHA-API zu verwenden (es gibt auch Code auf GitHub).
Fortsetzung ・ Ich habe versucht, die Router-Steuerungs-API-Bibliothek NAPALM eines Anbieters zu berühren
TensorFlow Tutorial Ich habe MNIST 3rd ausprobiert
Ich habe den asynchronen Server von Django 3.0 ausprobiert
Ich habe versucht, den Befehl umask zusammenzufassen
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich versuchte das Weckwort zu erkennen
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Ich bin auf die Hatena Keyword API gestoßen
Ich habe das OSS-Visualisierungstool superset ausprobiert
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe versucht, die grafische Modellierung zusammenzufassen.
Ich habe versucht, das Umfangsverhältnis π probabilistisch abzuschätzen
Python: Ich habe das Problem des Handlungsreisenden ausprobiert
Ich habe versucht, mit Pillow mit dem Bild zu spielen
Ich habe eine Web-API erstellt
Ich habe das Python Tornado Testing Framework ausprobiert
Ich habe versucht, die Vorhersage-API des maschinellen Lernmodells von WordPress aus aufzurufen
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, verschiedene Sätze mit der automatischen Zusammenfassungs-API "summpy" zusammenzufassen.
Ich habe es mit Papiermühle versucht
Ich habe versucht, den Text des Romans "Wetterkind" mit Word Cloud zu visualisieren
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Ich habe Web Scraping versucht, um die Texte zu analysieren.
Ich habe versucht, die Detect Labels-API von AWS Rekognition zu verwenden