首先创建一个csv文件,创建方式为新建一个文本文档,然后将这个文本文档重命名为test.csv 再用Excel打开,添加内容 内容如下: ?...先来添加列 data = [‘a’,’b’,’c’] df[‘字母’] = data import pandas as pd filename = '....pd.read_csv(filename,encoding='gbk') data = ['a','b','c'] df['字母'] = data df.to_csv(filename,index=None) 由于我们的列标签是中文...再来添加行 df.loc[4]=[4,’d’] import pandas as pd filename = '.
如果你对pandas的学习很感兴趣,你可以参考我们的pandas教程指导博客(http://www.dataquest.io/blog/pandas-python-tutorial/),里面包含两大部分的内容...用于测试的代码 pd.DataFrame(np.random.rand(20,5)) 5列、20行的随机浮动 pd.Series(my_list) 从可迭代的my_list创建一维数组 df.index...(均值可以用统计部分中的几乎任何函数替换) s.astype(float) 将数组的数据类型转换为float s.replace(1,'one') 将所有等于1的值替换为'one' s.replace(...df.groupby([col1,col2]) 从多列返回一组对象的值 df.groupby(col1)[col2] 返回col2中的值的平均值,按col1中的值分组(平均值可以用统计部分中的几乎任何函数替换...) df.pivot_table(index=col1,values=[col2,col3],aggfunc=max) 创建一个数据透视表,按col1分组并计算col2和col3的平均值 df.groupby
选择特定的列 3.读取DataFrame的一部分行 read_csv函数允许按行读取DataFrame的一部分。有两种选择。第一个是读取前n行。...这些方法根据索引或标签选择行和列。 loc:带标签选择 iloc:用索引选择 先创建20个随机indices。...符合指定条件的值将保持不变,而其他值将替换为指定值。 20.排名函数 它为这些值分配一个等级。让我们创建一个根据客户余额对客户进行排名的列。...Geography列的内存消耗减少了近8倍。 24.替换值 替换函数可用于替换DataFrame中的值。 ? 第一个参数是要替换的值,第二个参数是新值。 我们可以使用字典进行多次替换。 ?...25.绘制直方图 Pandas不是数据可视化库,但用它创建一些基本图形还是非常简单的。 我发现使用Pandas创建基本图比使用其他数据可视化库更容易。 让我们创建Balance列的直方图。
今天来分享一些Pandas必会的用法,让你的数据分析水平更上一层楼。 一、Pandas两大数据结构的创建 序号 方法 说明 1 pd.Series(对象,index=[ ]) 创建Series。...对象可以是列表\ndarray、字典以及DataFrame中的某一行或某一列 2 pd.DataFrame(data,columns = [ ],index = [ ]) 创建DataFrame。...columns和index为指定的列、行索引,并按照顺序排列 举例:用pandas创建数据表: df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006...重排Series和DataFrame索引,会创建一个新对象,如果某个索引值当前不存在,就引入缺失值。...或DataFrame),表示哪些值是缺失的 举例:查看数据表基本信息(维度、列名称、数据格式等等) df.info() 十、数据转换 序号 方法 说明 1 .replace(old, new) 用新的数据替换老的数据
一、Pandas两大数据结构的创建 序号 方法 说明 1 pd.Series(对象,index=[ ]) 创建Series。...对象可以是列表\ndarray、字典以及DataFrame中的某一行或某一列 2 pd.DataFrame(data,columns = [ ],index = [ ]) 创建DataFrame。...columns和index为指定的列、行索引,并按照顺序排列 举例:用pandas创建数据表: df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006...重排Series和DataFrame索引,会创建一个新对象,如果某个索引值当前不存在,就引入缺失值。...或DataFrame),表示哪些值是缺失的 举例:查看数据表基本信息(维度、列名称、数据格式等等) df.info() 十、数据转换 序号 方法 说明 1 .replace(old, new) 用新的数据替换老的数据
解决缺失数据分析的典型SAS编程方法是,编写一个程序使用计数器变量遍历所有列,并使用IF/THEN测试缺失值。 这可以沿着下面的输出单元格中的示例行。...在这种情况下,行"d"被删除,因为它只包含3个非空值。 ? ? 可以插入或替换缺失值,而不是删除行和列。.fillna()方法返回替换空值的Series或DataFrame。...NaN被上面的“下”列替换为相邻单元格。下面的单元格将上面创建的DataFrame df2与使用“前向”填充方法创建的数据框架df9进行对比。 ? ?...NaN被上面的“上”列替换为相邻单元格。下面的单元格将上面创建的DataFrame df2与使用“后向”填充方法创建的数据框架df10进行对比。 ? ?...在删除缺失行之前,计算在事故DataFrame中丢失的记录部分,创建于上面的df。 ? DataFrame中的24个记录将被删除。
pandas as pd import pdpipe # 读入tmdb_5000_movies.csv数据集并查看前3行 data = pd.read_csv('tmdb_5000_movies.csv...、丢掉vote_average小于等于7,且original_language不为en的行 4、求得genres对应电影类型的数量保存为新列genres_num,并删除原有的genres列 5、丢掉...型,决定是否在计算完成后把旧列删除,默认为True,即对应列的计算结果直接替换掉对应的旧列 suffix:str型,控制新列后缀名,当drop参数设置为False时,结果列的列名变为其对应列+suffix...图19 ApplyToRows: 这个类用于实现pandas中对行的apply操作,传入的计算函数直接处理每一行,主要参数如下: func:传入需要计算的函数,对每一行进行处理 colname...:str或list,与columns参数一一对应的结果列名称,当你想要自定义结果新列名称时这个参数就变得非常有用,默认为None,即直接替换原始列 drop:bool型,用于决定是否删除替换前的原始列,
使用一行代码,我们已经将这些数据分配并保存到 Pandas dataframe 中 - 事实证明是这种情况,字典是要转换为 dataframe 的完美数据格式。 ?...在 Pandas 中,这样做的方式是rename 方法。 ? 在实现上述方法时,我们将使用列标题 「gdppercapita」 替换列标题「US $」。...我们将使用正则表达式来替换 gdppercapita 列中的逗号,以便我们可以更容易地使用该列。 ? re.sub 方法本质上是使用空格替换逗号。以下教程详细介绍了 re库的各个方法。...我们为一个新的 dataframe 分配一个布尔索引的过滤器,这个方法基本上就是说「创建一个人均 GDP 超过 50000 的新 dataframe」。现在我们可以显示gdp50000。 ?...选择属于以 s 开头的国家的行。 现在可以显示一个新 dataframe,其中只包含以 s 开头的国家。使用 len 方法快速检查(一个用于计算 dataframe 中的行数的救星!)
inner:使用两个 DataFrame键的交集,类似SQL的内连接 在使用 merge()函数进行合并时,默认会使用重叠的列索引做为合并键,并采用内连接方式合并数据,即取行索引重叠的部分。 ...注意:使用combine_first()方法合并两个DataFrame对象时,必须确保它们的行索引和列索引有重叠的部分 3....3.2.1 pivot()方法 index:用于创建新 DataFrame对象的行索引。...columns:用于创建新 DataFrame对象的列索引 values:用于填充新 DataFrame对象中的值。 4....4.1.1 rename()方法 index,columns:表示对行索引名或列索引名的转换。 inplace:默认为False,表示是否返回新的Pandas对象。
使用一行代码,我们已经将这些数据分配并保存到 Pandas dataframe 中 —— 事实证明是这种情况,字典是要转换为 dataframe 的完美数据格式。 ?...在 Pandas 中,这样做的方式是rename 方法。 ? 在实现上述方法时,我们将使用列标题 「gdp_per_capita」 替换列标题「US $」。...我们将使用正则表达式来替换 gdp_per_capita 列中的逗号,以便我们可以更容易地使用该列。 ? re.sub 方法本质上是使用空格替换逗号。以下详细介绍了 re库 的各个方法。...我们为一个新的 dataframe 分配一个布尔索引的过滤器,这个方法基本上就是说「创建一个人均 GDP 超过 50000 的新 dataframe」。现在我们可以显示gdp50000。 ?...选择属于以 s 开头的国家的行。 现在可以显示一个新 dataframe,其中只包含以 s 开头的国家。使用 len 方法快速检查(一个用于计算 dataframe 中的行数的救星!)
pandas as pd import pdpipe # 读入tmdb_5000_movies.csv数据集并查看前3行 data = pd.read_csv('tmdb_5000_movies.csv...列进行小写化处理 3、丢掉vote_average小于等于7,且original_language不为en的行 4、求得genres对应电影类型的数量保存为新列genres_num,并删除原有的genres...列 5、丢掉genres_num小于等于5的行 上述操作直接使用pandas并不会花多少时间,但是想要不创造任何中间临时结果一步到位产生所需的数据框子集,并且保持代码的可读性不是一件太容易的事,但是利用...,用于指定对哪些列进行计算 func:传入需要计算的函数 drop:bool型,决定是否在计算完成后把旧列删除,默认为True,即对应列的计算结果直接替换掉对应的旧列 suffix:str型,控制新列后缀名...:str或list,与columns参数一一对应的结果列名称,当你想要自定义结果新列名称时这个参数就变得非常有用,默认为None,即直接替换原始列 drop:bool型,用于决定是否删除替换前的原始列,
添加或插入行 要向DataFrame追加或添加一行,我们将新行创建为Series并使用append()方法。...在本例中,将新行初始化为python字典,并使用append()方法将该行追加到DataFrame。...我们也可以添加新的列 # Adding a new column to existing DataFrame in Pandas sex = ['Male','Female','Male','Female...假设我们想按性别将值分组,并计算物理和化学列的平均值和标准差。...我们将调用pivot_table()函数并设置以下参数: index设置为 'Sex',因为这是来自df的列,我们希望在每一行中出现一个唯一的值 values值为'Physics','Chemistry
() 创建指定行列的随机矩阵,元素为0到1之间 np.random.rand(10, 10) 创建指定形状(示例为10行10列)的随机数组(范围在0至1之间) np.random.uniform...0,大于80,替换为90 print(b) 指定轴求和 np.sum(参数1: 数组; 参数2: axis=0/1,0表示列1表示行) 指定轴最大值np.max(参数1: 数组;...; 参数2: axis=0/1,0表示列1表示行) 行或列最小值索引np.argmin(参数1: 数组; 参数2: axis=0/1,0表示列1表示行) 指定轴平均值mean(参数1: 数组...△ np.r_[] 按行上下连接两个矩阵 6、NumPy 数组操作 △ n.reshape(arr,newshape,order=)数组,新形状,"C"-按行、"F"-按列、"A"-原顺序、"k"-元素在内存中痴线顺序...#运行当前代码块并选中下一个代码块(没有就创建),Shift+Enter 清除缓存kernel -> restart Jupyter的优点是允许将变量放到内存中,可以直接进行类型推断
我们减了 4 列,因此列数从 14 个减少到 10 列。 2.选择特定列 我们从 csv 文件中读取部分列数据。可以使用 usecols 参数。...16.重置并删除原索引 在某些情况下,我们需要重置索引并同时删除原始索引。....where 函数 它用于根据条件替换行或列中的值。...让我们创建一个列,根据客户的余额对客户进行排名。...我发现使用 Pandas 创建基本绘图更容易,而不是使用其他数据可视化库。 让我们创建平衡列的直方图。 ? 26.减少浮点数小数点 pandas 可能会为浮点数显示过多的小数点。
它由两部分组成:索引(Index) 和 值(Values)。 索引(Index): 索引是用于标识每个元素的标签,可以是整数、字符串、日期等类型的数据。...具体来说,map()函数可以接受一个字典或一个函数作为参数,然后根据这个字典或函数对 Series 中的每个元素进行映射或转换,生成一个新的 Series,并返回该 Series。...举个例子import pandas as pd# 创建一个 Seriess = pd.Series(['apple', 'banana', 'cherry'])# 定义一个字典,用于替换元素replacement_dict...定义了填充空值的方法, pad / ffill表示用前面行/列的值,填充当前行/列的空值; backfill / bfill表示用后面行/列的值,填充当前行/列的空值。axis:轴。...0或’index’,表示按行删除;1或’columns’,表示按列删除。inplace:是否原地替换。布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。
where函数首先根据指定条件定位目标数据,然后替换为指定的新数据。...对于行标签,如果我们不分配任何特定的索引,pandas默认创建整数索引。因此,行标签是从0开始向上的整数。与iloc一起使用的行位置也是从0开始的整数。...df.year.nunique() 10 df.group.nunique() 3 我们可以直接将nunique函数应用于dataframe,并查看每列中唯一值的数量: ?...我们要创建一个新列,该列显示“person”列中每个人的得分: df['Person_point'] = df.lookup(df.index, df['Person']) df ? 14....Replace 顾名思义,它允许替换dataframe中的值。第一个参数是要替换的值,第二个参数是新值。 df.replace('A', 'A_1') ? 我们也可以在同一个字典中多次替换。
[2f9edeb9793440810e064b0781274e6a.png] 当我们提到python数据分析的时候,大部分情况下都会使用Pandas进行操作。...(s) [d000f665a045ff8a6146469a8b7ca06b.png] 2.2 从字典创建DataFrame 从字典创建DataFrame,自动按照字典进行列索引,行索引从0开始。...在刚学Pandas时,行选择和列选择非常容易混淆,在这里进行一下整理常用的列选择。...Dataframe聚合 可以按行、列进行聚合,也可以用pandas内置的describe对数据进行操作简单而又全面的数据聚合分析。...Dataframe查找替换 pandas 提供简单的查找替换功能,如果要复杂的查找替换,可以使用map()、apply()和 applymap() data.replace(‘GD’, ‘GDS’)
之前已经使用Pandas Python库导入了CSV文件,并首先查看了数据集的内容。...新DataFrame索引是两个Series索引的并集: >>> city_data.index Index(['Amsterdam', 'Tokyo', 'Toronto'], dtype='object...现在,我们继续基于数据集列中的值选择行以查询数据。例如,我们可以创建一个DataFrame仅包含2010年之后打过的比赛。...仅包含其中列中的值"year_id"大于的行2010。...首先创建原始副本DataFrame以使用: >>> df = nba.copy() >>> df.shape (126314, 23) 然后基于现有列定义新列: >>> df["difference"
文章中的所有代码都会有讲解和注释,绝大部分也都会配有运行结果,这样的话,整篇总结篇幅量自然不小,所以我分成了上下两篇,这里是上篇,下篇在次条。 1....创建数据集并读取 2.1 创建数据集 我构造了一个超市购物的数据集,该数据集属性包括:订单ID号(id)、订单日期(date)、消费金额(money)、订单商品(product)、商品类别(department...# 某一列的数据类型 data.ndim # 数据维度 data.index # 行索引 data.columns # 列索引 data.values...# 对象值 3.2 数据集整体情况查询 data.head() # 显示头部几行(默认5行) data.tail() # 显示末尾几行(默认5行) data.info...= 'American'] #去掉origin为American的行 data1 data2=data[(data !
如果可能,最好执行返回带有新Series中表示的修改的新Series的操作。 但是,如果需要,可以更改值并就地添加/删除行。 通过为尚不存在的index标签分配值,可以在序列中添加一行。...具体而言,在本章中,我们将介绍: 重命名列 使用[]和.insert()添加新列 通过扩展添加列 使用连接添加列 重新排序列 替换列的内容 删除列 添加新行 连接行 通过扩展添加和替换行 使用.drop...替换列的内容 通过使用[]运算符将新的Series分配给现有列,可以替换DataFrame的内容。 以下演示了用rounded_price中的Price列替换Price列。...如果标签确实存在,则将替换指定行中的值。...此外,我们看到了如何替换特定行和列中的数据。 在下一章中,我们将更详细地研究索引的使用,以便能够有效地从 pandas 对象内检索数据。
领取专属 10元无门槛券
手把手带您无忧上云