1.编写一个Python程序,读取一个文本文件(假设文件名为test.txt, 内容为一些英文句子、每个句子占一行),将每个单词首字母大写,统计文件中单词的总数,并将结果写入另一个文件result.txt中.
with open ( "test.txt" , "r" , encoding= "utf-8" ) as fin, open ( "result.txt" , "w" , encoding= "utf-8" ) as fout:
total = 0
for line in fin:
words = line. strip( ) . split( )
total += len ( words)
fout. write( " " . join( w. capitalize( ) for w in words) + "\n" )
fout. write( f"\nTotal words: { total} \n" )
编程题2
2.1根据”超市营业额2.xlsx”,查看单日交易总额最小的3天的交易数据,并查看这3天是周几。
import pandas as pd
df = pd. read_excel( './data/超市营业额2.xlsx' )
df = df. loc[ : , [ '日期' , '交易额' ] ] . groupby( [ '日期' ] , as_index= False ) . sum ( )
df = df. nsmallest( 3 , '交易额' )
df[ 'weekday' ] = pd. to_datetime( df[ '日期' ] ) . dt. day_name( )
print ( df)
日期 交易额 weekday
24 2023-03-25 8498.0 Saturday
20 2023-03-21 8661.0 Tuesday
9 2023-03-10 8789.0 Friday
2.2根据“超市营业额2.xlsx”文件,绘制饼状图展示该月各个柜台营业额在交易总额中的占比
import pandas as pd
import matplotlib. pyplot as plt
plt. rcParams[ 'font.sans-serif' ] = [ 'SimHei' ]
plt. rcParams[ 'axes.unicode_minus' ] = False
df = pd. read_excel( './data/超市营业额2.xlsx' , sheet_name= 'Sheet1' , usecols= [ '柜台' , '交易额' ] )
df = df. groupby( by= '柜台' , as_index= False ) . sum ( )
df. plot( x= '柜台' , y= '交易额' , kind= 'pie' , labels= df[ '柜台' ] . values)
plt. legend( )
plt. show( )
import pandas as pdimport matplotlib. pyplot as plt
plt. rcParams[ 'font.sans-serif' ] = [ 'SimHei' ]
plt. rcParams[ 'axes.unicode_minus' ] = False
df = pd. read_excel( './data/超市营业额2.xlsx' , sheet_name= 'Sheet1' )
df = df. loc[ : , [ '柜台' , '交易额' ] ] . groupby( by= '柜台' , as_index= False ) . sum ( )
df. plot( x= '柜台' , y= '交易额' , kind= 'pie' , labels= df[ '柜台' ] . values)
plt. legend( )
plt. show( )
虚拟环境运行(@飞桨AI Studio星河社区)
虚拟环境运行(@Github Codespace)
总结conda运行问题后的代码如下所示
求解其中整数的元素和
mylist= [ 1.2 , 'abc' , 3.45 , 'a' ]
result= [ i for i in mylist if isinstance ( i, ( int , float ) ]
sum_result= sum ( result)
print ( sum_result)
4.65
矩阵乘积第一个是1-9改为3×3按照行填充,第二个为10-18按照行填充为3×3矩阵
import numpy as np
a= np. arange( 1 , 10 ) . reshape( 3 , 3 )
b= np. arange( 10 ,19 ) . reshape( 3 ,3 )
print ( a)
print ( b)
print ( a* b)
[[1 2 3]
[4 5 6]
[7 8 9]]
[[10 11 12]
[13 14 15]
[16 17 18]]
[[ 10 22 36]
[ 52 70 90]
[112 136 162]]
矩阵乘积第一个是1-9改为3×3按照列填充,第二个为10-18按照列填充为3x3矩阵
import numpy as np
a= np. arange( 1 , 10 ) . reshape( 3 , 3 , order= 'F' )
b= np. arange( 10 , 19 ) . reshape( 3 , 3 , order= 'F' )
print ( a)
print ( b)
print ( a* b)
[[1 4 7]
[2 5 8]
[3 6 9]]
[[10 13 16]
[11 14 17]
[12 15 18]]
[[ 10 52 112]
[ 22 70 136]
[ 36 90 162]]
给定矩阵a,b,计算numpy数组乘积
import numpy as np
a= np. array( [ 1 , 2 , 3 ] )
b= np. array( [ 4 , 5 , 6 ] )
print ( a* b)
[ 4 10 18]