网站建设推广的话术,官方推广平台,手机腾讯网,wordpress 作者链接三天做完pandas数据分析50题第一天 第1题 将python的list转换为Series第2题 将字典转换为Series第3题 将Series转换成python的list第4题 使用numpy创建series。第5题 如何为Series添加新的元素#xff1f;第6题 使用字典创建DataFrame第7题 给DataFrame设置索引列第8题 生成一… 三天做完pandas数据分析50题第一天 第1题 将python的list转换为Series第2题 将字典转换为Series第3题 将Series转换成python的list第4题 使用numpy创建series。第5题 如何为Series添加新的元素第6题 使用字典创建DataFrame第7题 给DataFrame设置索引列第8题 生成一个月的所有天第9题 生成一年中所有的周一第10题 生成一天中所有的小时第11题 创建一个DataFrame一列是一个月中每天的日期另一列是对应日期在当年的第几天第12题 删除列 第1题 将python的list转换为Series 将列表scores [90, 85, 95, 97, 89, 100]转换为Series解析使用pd.Series()方法将列表直接作为参数传递进去。
import pandas as pd
scores [90, 85, 95, 97, 89, 100]
series pd.Series(scores)
print(series)结果如下
第2题 将字典转换为Series 如何将存有学生成绩的字典scores {小明:80, 小张:85,小李:70}转换为Series解析将字典直接传入pd.Series()中。
import pandas as pd
scores {小明:80, 小张:85,小李:70}
series pd.Series(scores)
print(series)结果如下 需要注意的是当传入列表的时候索引是数字索引当传入字典的时候索引是字典的key。
第3题 将Series转换成python的list
解析可以使用Series的tolist()方法实现。
import pandas as pd
scores {小明:80, 小张:85,小李:70}
series pd.Series(scores) score_list series.tolist() # 将Series转换成列表
print(score_list)第4题 使用numpy创建series。 如何使用numpy创建如下的Series?解析代码如下
import pandas as pd
import numpy as nps pd.Series(np.arange(11,20),indexnp.arange(1,10),dtypefloat
)第5题 如何为Series添加新的元素 已知存在一个学生身高的series如下heights {xiaoming: 180, xiaozhang: 175, xiaowang: 190, xiaowu: 183}s pd.Series(heights)如何为这个Series添加两个新的元素“xiaoliu”身高178“xiaozhao”身高176? 解析可以先构造一个新的Series然后使用Series的_append方法(最新版的pandas将append方法变为了_append方法)添加新的Series。注意使用_append方法并不会改变原来的Series需要使用变量接收。
import pandas as pdheights {xiaoming: 180, xiaozhang: 175, xiaowang: 190, xiaowu: 183}
s pd.Series(heights)s1 pd.Series({xiaoliu: 178, xiaozhao: 176})
s s._append(s1)s的结果如下
第6题 使用字典创建DataFrame
解析将字典直接传入pd.DataFrame()方法中即可使用字典创建DataFrame。
import pandas as pddf pd.DataFrame({name: [xiaoming, xiaozhang, xiaowang],height:[180, 175, 190],score:[94, 78, 80]}
)DataFrame的效果如下 那如果将key为score的值列表改为[94, 78, 80, 99] 即多了一个元素会怎么样呢会报如下错误ValueError: All arrays must be of the same length即所有的arrays都必须有相同的长度。
第7题 给DataFrame设置索引列 接上题如何将DataFrame的name列设置为索引列解析使用DataFrame的set_index()方法如需直接修改DataFrame需要添加参数inplaceTrue。
import pandas as pddf pd.DataFrame({name: [xiaoming, xiaozhang, xiaowang],height:[180, 175, 190],score:[94, 78, 80]}
)
df.set_index(name, inplaceTrue)效果如下
第8题 生成一个月的所有天
解析使用pd.date_range()方法
# 第一种方法
import pandas as pd
date_range pd.date_range(start20240101, end20240131)
# 第二种方法
date_range pd.date_range(start20240101, periods31)第9题 生成一年中所有的周一
解析还是使用pandas的date_range()方法需要添加参数freq‘W-MON’
import pandas as pd
date_range pd.date_range(start2023-01-01, end2023-12-31, freqW-MON)第10题 生成一天中所有的小时
import pandas as pd
date_range pd.date_range(2024-04-11, periods24, freqH)第11题 创建一个DataFrame一列是一个月中每天的日期另一列是对应日期在当年的第几天
解析使用pd.DataFrame()和pd.date_range()方法来创建。
import pandas as pddate_range pd.date_range(2024-03-01, periods31, freqD)
df pd.DataFrame(date_range, columns[day])
df[dayofyear] df[day].dt.dayofyearDataFrame的效果如下部分截图
第12题 删除列
import pandas as pddf pd.DataFrame({name: [xiaoming, xiaozhang, xiaowang],height:[180, 175, 190],score:[94, 78, 80]}
)
df.drop(columns[height,score],inplaceTrue)