随笔分类 -  pandas

摘要:删除空值 在一些情况下会删除有空值、缺失不全的数据,df.dropna可以执行这种操作: df.dropna() # 一行中有一个缺失值就删除 df.dropna(axis='columns') # 只保留全有值的列 df.dropna(how='all') # 行或列全没值才删除 df.dropn 阅读全文
posted @ 2024-01-01 19:46 myrj 阅读(97) 评论(0) 推荐(0)
摘要:替换数据 replace方法可以对数据进行批量替换: s.replace(0, 5) # 将列数据中的0换为5 df.replace(0, 5) # 将数据中的所有0换为5 df.replace([0, 1, 2, 3], 4) # 将0~3全换成4 df.replace([0, 1, 2, 3], 阅读全文
posted @ 2024-01-01 19:19 myrj 阅读(249) 评论(0) 推荐(0)
摘要:修改数值 在Pandas中修改数值非常简单,先筛选出需要修改的数值范围,再为这个范围重新赋值。 df.iloc[0,0] # 查询值 # 'Liver' df.iloc[0,0] = 'Lily' # 修改值 df.iloc[0,0] # 查看结果 # 'Lily' 以上修改了一个具体的数值,还可以 阅读全文
posted @ 2024-01-01 19:16 myrj 阅读(19) 评论(0) 推荐(0)
摘要:指定列df.assign() df.assign(k=v)为指定一个新列的操作,k为新列的列名,v为此列的值,v必须是一个与原数据同索引的Series。今后我们会频繁用到它,它在链式编程技术中相当重要,因此这里专门介绍一下。我们平时在做数据探索分析时会增加一些临时列,如果新列全部使用赋值的方式生成, 阅读全文
posted @ 2024-01-01 17:22 myrj 阅读(370) 评论(0) 推荐(0)
摘要:执行表达式df.eval() df.eval()与之前介绍过的df.query()一样,可以以字符的形式传入表 达式,增加列数据。下面以增加总分为例: # 传入求总分表达式 df.eval('total = Q1+Q3+Q3+Q4') ''' name team Q1 Q2 Q3 Q4 total 阅读全文
posted @ 2024-01-01 17:19 myrj 阅读(149) 评论(0) 推荐(0)
摘要:增加行 可以使用loc[]指定索引给出所有列的值来增加一行数据。目前我们的df最大索引是99,增加一条索引为100的数据: # 新增索引为100的数据 df.loc[100] = ['tom', 'A', 88, 88, 88, 88] df ''' name team Q1 Q2 Q3 Q4 0 阅读全文
posted @ 2024-01-01 17:18 myrj 阅读(157) 评论(0) 推荐(0)
摘要:追加合并 增加行数据的使用场景相对较少,一般是采用数据追加的模式。数据追加会在后续章节中介绍。 df.append()可以追加一个新行: df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB')) df2 = pd.DataFrame([[5, 6 阅读全文
posted @ 2024-01-01 17:16 myrj 阅读(63) 评论(0) 推荐(0)
摘要:删除 删除有两种方法,一种是使用pop()函数。使用pop(),Series会删除指定索引的数据同时返回这个被删除的值,DataFrame会删除指定列并返回这个被删除的列。以上操作都是实时生效的。 # 删除索引为3的数据 s.pop(3) # 93 s ''' 0 89 1 36 2 57 4 65 阅读全文
posted @ 2024-01-01 17:14 myrj 阅读(34) 评论(0) 推荐(0)
摘要:删除空值 在一些情况下会删除有空值、缺失不全的数据,df.dropna可以执行 这种操作: df.dropna() # 一行中有一个缺失值就删除 df.dropna(axis='columns') # 只保留全有值的列 df.dropna(how='all') # 行或列全没值才删除 df.drop 阅读全文
posted @ 2024-01-01 17:11 myrj 阅读(54) 评论(0) 推荐(0)
摘要:Pandas利用plot()调用Matplotlib快速绘制出数据可视化图形。注 意,第一次使用plot()时可能需要执行两次才能显示图形。可以使用plot()快速绘制折线图。 df['Q1'].plot() # Q1成绩的折线分布 可以先选择要展示的数据,再绘图。 df.loc['Ben','Q1 阅读全文
posted @ 2023-12-31 06:18 myrj 阅读(180) 评论(0) 推荐(0)
摘要:df.mean() # 返回所有列的均值 df.mean(1) # 返回所有行的均值,下同 df.corr() # 返回列与列之间的相关系数 df.count() # 返回每一列中的非空值的个数 df.max() # 返回每一列的最大值 df.min() # 返回每一列的最小值 df.median( 阅读全文
posted @ 2023-12-31 06:03 myrj 阅读(10) 评论(0) 推荐(0)
摘要:增加列: df['one'] = 1 # 增加一个固定值的列 df['total'] = df.Q1 + df.Q2 + df.Q3 + df.Q4 # 增加总成绩列 # 将计算得来的结果赋值给新列 df['total'] = df.loc[:,'Q1':'Q4'].apply(lambda x:s 阅读全文
posted @ 2023-12-31 06:02 myrj 阅读(216) 评论(0) 推荐(0)
摘要:df.groupby('team').sum().T df.groupby('team').sum().stack() df.groupby('team').sum().unstack() 阅读全文
posted @ 2023-12-31 05:57 myrj 阅读(22) 评论(0) 推荐(0)
摘要:我们可以实现类似SQL的groupby那样的数据透视功能:df.groupby('team').sum() # 按团队分组对应列相加df.groupby('team').mean() # 按团队分组对应列求平均# 不同列不同的计算方法df.groupby('team').agg({'Q1': sum 阅读全文
posted @ 2023-12-31 05:54 myrj 阅读(16) 评论(0) 推荐(0)
摘要:import pandas as pd #生成一些数据 data = {'A': [1, 2, 3],'B': [4, 5, 6]} df = pd. DataFrame (data) #将字典转化为dataframe格式 print(df) # 打印dataframe #进行一些操作 df['A' 阅读全文
posted @ 2023-09-27 16:30 myrj 阅读(272) 评论(0) 推荐(0)
摘要:import sys from datetime import datetime import numpy as np import matplotlib.pyplot as plt #使用NumPy计算 def numpysum(n) : a = np.arange(n)**2 b = np.ar 阅读全文
posted @ 2023-09-27 15:38 myrj 阅读(54) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2023-09-27 15:05 myrj 阅读(9) 评论(0) 推荐(0)
摘要:>>> np.sctypeDict {'?': <class 'numpy.bool_'>, 0: <class 'numpy.bool_'>, 'byte': <class 'numpy.int8'>, 'b': <class 'numpy.int8'>, 1: <class 'numpy.int 阅读全文
posted @ 2023-09-27 11:07 myrj 阅读(98) 评论(0) 推荐(0)
摘要:import numpy as np arr=np.arange(0,10,1) arr1=np.arange(0,1,0.1) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 阅读全文
posted @ 2023-09-27 10:15 myrj 阅读(13) 评论(0) 推荐(0)
摘要:>>> for ii in range(1,10,0.1): print(ii) Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> for ii in range(1,10,0.1):TypeErro 阅读全文
posted @ 2023-09-27 10:11 myrj 阅读(103) 评论(0) 推荐(0)