pythonを勉強した翌日
6942 ワード
主な内容
今日は主にワードクラウドの作成方法、ドキュメントに最も多く登場する人物名の抽出方法を学びます.
pythonファイルの読み取り方法
次に、具体的な例を示します.
importの使用
語群の描画方法
まず、サードパーティ製ライブラリファイルのインストールを習得するには、terminalの下で直接インストールするか、Webサイトにアクセスします.https://www.lfd.uci.edu/~gohlke/pythonlibs/wordcloudファイルを選択してローカルにダウンロードしてインストール
ここで注意しなければならないのは、pythonでは大文字と小文字が敏感で、英語の大文字と小文字が異なる役割を果たしています.次に、語群描画の具体的な例を示します.
三国小説の詞雲の描画
pythonのソートディクショナリソート 名前の逆順に並ぶ
python変数の交換と宣言
具体例:
三国の登場する前の10人の人物の名前の詞雲は描きます
passのステーション
1~num間の累積和
関数とメソッド
関数とメソッド:関数はプロシージャ向けメソッドがオブジェクト向けであることを区別しません
匿名関数
フォーマット:lambdaパラメータ1、パラメータ2、......:式の欠点は、特定のインスタンスを繰り返し呼び出すことができないことです.
sorted和.sortの違い .sort()はリスト特有の方法であり、sorted()は反復可能な任意のオブジェクト に適用される. .sort()は元のリストで修正され、sorted()は新しいリスト を返す.呼び出し形式が異なる リスト導出式すべての偶数 をスクリーニングする正負ランダムリスト を生成する.リスト導出式を用いてLi 5 を生成する.ゼロより大きいすべての数をフィルタする 構文[式for一時変数in反復可能オブジェクトフィルタ条件]
スライスpythonの特色
具体的なケースは以下の通りです.
文字列出力
分析したデータの可視化
今日は主にワードクラウドの作成方法、ドキュメントに最も多く登場する人物名の抽出方法を学びます.
pythonファイルの読み取り方法
次に、具体的な例を示します.
# open
#file=' ' ,
#. /
#mode='r'
f = open(file='./threekingdom.txt',mode='r',encoding='UTF-8')
words = f.read()
print(words)
#
#
f.close()
print(len(words))
#
importの使用
#from import name1,name2...
from random import randint
#
import random
random randint
# import turtle
# from turtle import done
語群の描画方法
まず、サードパーティ製ライブラリファイルのインストールを習得するには、terminalの下で直接インストールするか、Webサイトにアクセスします.https://www.lfd.uci.edu/~gohlke/pythonlibs/wordcloudファイルを選択してローカルにダウンロードしてインストール
ここで注意しなければならないのは、pythonでは大文字と小文字が敏感で、英語の大文字と小文字が異なる役割を果たしています.次に、語群描画の具体的な例を示します.
#
from wordcloud import WordCloud
#
#
txt = 'I like python , python is the best project language in the world'
wc = WordCloud().generate(txt)#
wc.to_file('python.png')
三国小説の詞雲の描画
import jieba
from wordcloud import WordCloud
import imageio
#1.
# with
mask = imageio.imread('china.jpg')
with open('threekingdom.txt','r',encoding='UTF-8') as f:
#
words = f.read()
# print(words)
#2.
words_list = jieba.lcut(words)
print(words_list)
#
words_text = ' '.join(words_list)
print(words_text)
#3. wordcloud
WordCloud(
background_color = 'white',
width = 800,
height = 600,
font_path = 'MSYH.TTC',
mask = mask
).generate(words_text).to_file(' .png')
pythonのソート
li = []
for i in range(10):
li.append(i)
print(li)
from random import shuffle
shuffle(li)
#
print(" ",li)
li.sort(reverse=True)
print(" ",li)
stu_info = [
{'name':'zhangsan', 'age':33},
{'name':'lisi', 'age':8},
{'name':'wangwu', 'age':66},
{'name':'tianqi', 'age':17},
]
print(stu_info)
# def ():
#
def sort_by_age(dict_info):
return dict_info['age']
#
#
# key
#
stu_info.sort(key=sort_by_age,reverse=True)
print(' ', stu_info)
stu_info = [
{'name':'zhangsan', 'age':33},
{'name':'lisi', 'age':8},
{'name':'wangwu', 'age':66},
{'name':'tianqi', 'age':17},
]
print(stu_info)
def sort_by_name(dict_info):
return dict_info['name']
stu_info.sort(key=sort_by_name,reverse=True)
print(' ', stu_info)
python変数の交換と宣言
具体例:
#
a = 100
b = 10
a,b = b,a
print('a=',a)
print('b=',b)
#
c,d,e = 100,[90,33],'hehe'
print(c)
print(d)
print()
三国の登場する前の10人の人物の名前の詞雲は描きます
#1.
import jieba
from wordcloud import WordCloud
with open('threekingdom.txt','r',encoding='UTF-8') as f:
words = f.read()
print(words)
word_list = jieba.lcut(words)
excluss = {' ',' ',' ',' ',' ',' ',' ',' '}
#print(len(word_list))
# {' ':788,' ':55}
counts = {}
for word in word_list:
if len(word) ==1:
continue
else:
#
# counts[word] = + 1
# counts[word] = count[word] + 1
counts[word] = counts.get(word,0) + 1
# print(counts)
counts[' '] = counts[' '] + counts[' ']
counts[' '] = counts[' '] + counts[' '] + counts[' ']
counts[' '] = counts[' '] + counts[' ']
#
for word in excluss:
del counts[word]
# counts
items = list(counts.items())
print(items)
def sort_by_count(x):
return x [1]
items.sort(key=sort_by_count,reverse=True)
# print(items)
# 20
role_list = []
for i in range(10):
#
role_name,count = items[i]
print(role_name,count)
# ,
for _ in range(count):
role_list.append(role_name)
print(role_list)
text = ' '.join(role_list)
WordCloud(
background_color='white',
width=800,
height=600,
font_path='MSYH.TTC',
collocations=False
).generate(text).to_file(' .png')
passのステーション
def ():
print('haha')
pass #
1~num間の累積和
def caculate_num(num):
result = 0
for i in range(num+1):
result += i
return result
sum_num = caculate_num(100)
print(sum_num)
関数とメソッド
関数とメソッド:関数はプロシージャ向けメソッドがオブジェクト向けであることを区別しません
匿名関数
フォーマット:lambdaパラメータ1、パラメータ2、......:式の欠点は、特定のインスタンスを繰り返し呼び出すことができないことです.
#
pf = lambda n:n*n
add =lambda x,y:x+y
print(pf(7))
print(add(3,4))
sorted和.sortの違い
# [0,1,2,···,9]
li = []
for i in range(20):
li.append(i)
print(li)
new_li = []
for i in li:
if i %2 ==0:
new_li.append(i)
print(new_li)
#
li3 = [i for i in range(20) if i%2==0]
print(li3)
from random import randint
li5 = []
for _ in range(10):
li5.append(randint(-20,20))
print(li5)
li5 = [randint(-20,20) for _ in range(10)]
print(li5)
res_list = [x for x in li5 if x > 0]
print(res_list)
li2 = [i for i in range(10)]
print(li2)
スライスpythonの特色
具体的なケースは以下の通りです.
name = 'abcdefg'
print(name[0:3])# abc
# a c e g
print(name[0:8:2])#
print(name[::2])
#name gfedcba
print(name[::-1])
# f d b
print(name[-2::-2])
文字列出力
i = 3
grade = ' '
print(' {} , {} '.format(i))
分析したデータの可視化
from matplotlib import pyplot as plt
#
import string
print(string.ascii_uppercase)
x = [' {}'.format(i) for i in string.ascii_uppercase[:5]]
print(x)
from random import randint
y = [randint(200,300) for _ in range(5)]
print(y)
plt.bar(x,y)
plt.show()