首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据分析 ——— pandas数据结构(一)

Series和DataFrame是现在常用两种数据类型。 1. Series Series和一维数组很像,只是它每一个都有一个索引,输出显示索引在左,在右。...=[12, 13, 14,15]) print(s) """ 输出: 12 a 13 b 14 c 15 d dtype: object """ 4)从字典创建一个序列: 所创建索引...,未给赋值即缺少元素是,用NAN填充 data = {'a':0,'b':1,'c':2.} s= pd.Series(data, index=['b','a','c','d']) print(...DataFrame DataFrame是一个2维标签数据结构,它列可以存在不同类型。你可以把它简单想成Excel表格或SQL Table,或者是包含字典类型Series。...],columns=['a','b1']) print('df2:\n',df2) """ 输出: df1: a b rank1 1 2 rank2 2 10 df2:

2.1K20

直观地解释和可视化每个复杂DataFrame操作

考虑一个二维矩阵,其一维为“ B ”和“ C ”(列名),另一维为“ a”,“ b ”和“ c ”(索引)。 我们选择一个ID,一个维度和一个包含列/列。...包含列将转换为两列:一列用于变量(名称),另一列用于(变量包含数字)。 ? 结果是ID(a,b,c)和列(B,C)及其对应每种组合,以列表格式组织。...作为另一个示例,级别设置为0(第一个索引级别),其中将成为列,而随后索引级别(第二个索引级别)将成为转换后DataFrame索引。 ?...how参数是一个字符串,它表示四种连接 方法之一, 可以合并两个DataFrame: ' left ':包括df1所有元素, 其键为df1 包含df2元素 。...包括df2所有元素, 其键是df2 包含df1元素 。 “outer”:包括来自DataFrames所有元素,即使密钥不存在于其他-缺少元素被标记为NaN

13.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Pandas知识点-算术运算函数

() df1.pow(df2) 计算df1df2次方,df1^df2 rpow() df1.rpow(df2) 计算df2df1次方,df2^df1 在Pandas,这些函数用法和运算规则都相同...在进行除法运算,如果被除数是0,得到结果可能是inf(表示无穷大,与Python浮点数精度有关),可能是NaN(空)。在后面的所有运算中都一样。...两个DataFrame中都有,才会有运算结果,其他位置结果都为空,运算原理如下图。 ? 在运算结果中有很多空,如果需要进行空填充,可以使用fillna()函数。 ?...与DataFrame不同是,使用fill_value参数先填充数据再进行运算,结果不会有空。因为Series是一维数据,对Series填充,不存在两个Series都是填充值索引。...其中Series可以按行运算,可以按列运算,取决于axis参数。 ? fillna()函数用法一样,对运算结果进行空填充。

1.9K40

收藏 | 11个Python Pandas小技巧让你工作更高效(附代码实例)

这是因为df2 = df1并不是生成一个df1复制品并把它赋值给df2,而是设定一个指向df1指针。所以只要是针对df2改变,会相应地作用在df1上。...dropna = False: 把缺失保留在这次统计。 sort = False: 将数据按照来排序而不是按照出现次数排序。...缺失数量 构建模型,我们可能会去除包含过多缺失或是全部是缺失。这时可以使用.isnull()和.sum()来计算指定列缺失数量。...依据指定ID来选取 在SQL我们可以使用 SELECT * FROM … WHERE ID in (‘A001’,‘C022’, …)来获取含有指定ID记录。...导出表格,你可以加上float_format=‘%.0f’以便将所有的浮点数近似成整数。当你想把所有列输出都变成整数格式,就可以使用这个技巧,这样一来你就会告别所有数值后带“.0”烦恼。

1.2K30

【技巧】11 个 Python Pandas 小技巧让你更高效

这是因为df2 = df1并不是生成一个df1复制品并把它赋值给df2,而是设定一个指向df1指针。所以只要是针对df2改变,会相应地作用在df1上。...为了解决这个问题,你既可以这样做: df2 = df1.copy() 可以这样做: from copy import deepcopy df2 = deepcopy(df1) 4. map 这个炫酷命令让你数据转换变得轻松...缺失数量 构建模型,我们可能会去除包含过多缺失或是全部是缺失。这时可以使用.isnull()和.sum()来计算指定列缺失数量。...依据指定ID来选取 在SQL我们可以使用 SELECT * FROM … WHERE ID in (‘A001’,‘C022’, …)来获取含有指定ID记录。...导出表格,你可以加上float_format=‘%.0f’以便将所有的浮点数近似成整数。当你想把所有列输出都变成整数格式,就可以使用这个技巧,这样一来你就会告别所有数值后带“.0”烦恼。

96940

合并PandasDataFrame方法汇总

how参数默认设置为inner,将从左DataFrame和右DataFrame交集生成一个新DataFrame。...解决方法,就是在使用merge(),将参数 how设置为left: df_left_merge = pd.merge(df1df2, how='left') print(df_left_merge...http://example.com/img/id005.png 由于df2 每一df1都有一个,所以在本例,right联接类似于inner联接。...Illis    killis4@example.com  right_only 请注意,在 df_outer,“id006”和“id007”只存在于右DataFrame(在本例df1)。...如果设置为 True ,它将忽略原始并按顺序重新创建索引 keys:用于设置多级索引,可以将它看作附加在DataFrame左外侧索引另一个层级索引,它可以帮助我们在不唯一区分索引 用与 df2

5.7K10

涨姿势!看骨灰级程序员如何玩转Python

(或者,你可以在linux中使用'head'命令来检查任何文本文件前5,例如:head -c 5 data.txt) 然后,你可以使用df.columns.tolist()来提取列表所有列,然后添加...df1.head() 你会发现df1已经改变了。这是因为df2 = df1没有复制df1并将其分配给df2,而是设置指向df1指针。...df2 = deepcopy(df1) 4. Map 这是一个可以进行简单数据转换命令。首先定义一个字典,其中'keys'是旧,'values'是新。 1....缺失数量 构建模型,你可能希望排除具有很多缺失或全是缺失。你可以使用.isnull()和.sum()来计算指定列缺失数量。 1....选择具有特定ID 在SQL,我们可以使用SELECT * FROM ... WHERE ID('A001','C022',...)来获取具有特定ID记录。

2.3K20

10招!看骨灰级Pythoner如何玩转Python

(或者,你可以在linux中使用 head 命令来检查任何文本文件前5,例如:head -c 5 data.txt) 然后,你可以使用df.columns.tolist()来提取列表所有列,然后添加...这是因为df2 = df1没有复制df1并将其分配给df2,而是设置指向df1指针。...因此,df2任何变化都会导致df1发生变化 要解决这个问题,你可以: df2 = df1.copy() # 或者 from copy import deepcopy df2 = deepcopy(df1...缺失数量 构建模型,你可能希望排除具有很多缺失或全是缺失。你可以使用.isnull()和.sum()来计算指定列缺失数量。...选择具有特定ID 在SQL,我们可以使用SELECT * FROM ... WHERE ID( A001 , C022 ,...)来获取具有特定ID记录。

2.3K30

Pandas学习经历及动手实践

x1 index 采用是默认,x2 index 进行了指定。...: 导入数据没有header, 设置此参数会自动加一个前缀 通用解析参数 dtype:读取数据修改列类型 skip_rows: 过滤 skip_blank_lines: 过滤掉空行 时间处理相关参数...df2.rename(columns={'Chinese': 'YuWen', 'English': 'Yingyu'}, inplace = True) (2.3)去重复 数据采集可能存在重复...数据量大情况下,有些字段存在 NaN 可能,这时就需要使用 Pandas isnull 函数进行查找。...比如,我们输入一个数据表如下: 如果我们想看下哪个地方存在 NaN,可以针对数据表 df 进行 df.isnull(),结果如下: 如果我想知道哪列存在,可以使用 df.isnull

1.7K10

Pandas快速上手!

x1 index 采用是默认,x2 index 进行了指定。...: 导入数据没有header, 设置此参数会自动加一个前缀 通用解析参数 dtype:读取数据修改列类型 skip_rows: 过滤 skip_blank_lines: 过滤掉空行 时间处理相关参数...df2.rename(columns={'Chinese': 'YuWen', 'English': 'Yingyu'}, inplace = True) (2.3)去重复 数据采集可能存在重复...数据量大情况下,有些字段存在 NaN 可能,这时就需要使用 Pandas isnull 函数进行查找。...比如,我们输入一个数据表如下: 如果我们想看下哪个地方存在 NaN,可以针对数据表 df 进行 df.isnull(),结果如下: 如果我想知道哪列存在,可以使用 df.isnull

1.3K50

独家 | 11个Python Pandas小技巧让你工作更高效(附代码实例)

这是因为df2 = df1并不是生成一个df1复制品并把它赋值给df2,而是设定一个指向df1指针。所以只要是针对df2改变,会相应地作用在df1上。...为了解决这个问题,你既可以这样做: df2 = df1.copy() 可以这样做: from copy import deepcopydf2 = deepcopy(df1) 4. map 这个炫酷命令让你数据转换变得轻松...缺失数量 构建模型,我们可能会去除包含过多缺失或是全部是缺失。这时可以使用.isnull()和.sum()来计算指定列缺失数量。...依据指定ID来选取 在SQL我们可以使用 SELECT * FROM … WHERE ID in (‘A001’,‘C022’, …)来获取含有指定ID记录。...导出表格,你可以加上float_format=‘%.0f’以便将所有的浮点数近似成整数。当你想把所有列输出都变成整数格式,就可以使用这个技巧,这样一来你就会告别所有数值后带“.0”烦恼。

68120

Pandas基础知识

取1之后每一对应2之前每一列 bool索引 df[bool判断表达式] 如:df[(df['列索引名']>10) & (df['列索引名']<20 )] 取df中指定列索引对应10-20之间元素...NaN t.dropna(axis=0, how='all', inplace=True) how为all,某行全为NaN删除,为any存在NaN则删除整行 inplace为True,...'].mean()) 只将指定索引对应NaN对应进行填充均值 合并 join() 按合并 df1.join(df2) merge()按列合并 df1.merge(df2, on='操作列名...', how='inner')内连接(默认) 交集 df1.merge(df2, on='a')方法会将df1a列df2a列进行比较,然后将相等对应整行进行合并,而且返回结果只包含具有可以合并...df1.merge(df2, on='a', how='outer') 外连接,a列包含数据为df1df2a列元素并集,每行元素分别对应,有则是原数据(一般a列元素都有,因为操作列为a),没有则是

69910

Pandas中级教程——数据合并与连接

# 按连接 concatenated_df = pd.concat([df1, df2], axis=0) 5.2 指定连接轴 可以通过 axis 参数指定连接轴,0 表示按连接,1 表示按列连接。...处理重复列名 连接两个数据集,可能会出现重复列名,可以使用 suffixes 参数为重复列名添加后缀。...# 添加后缀处理重复列名 merged_df = pd.merge(df1, df2, on='common_column', suffixes=('_df1', '_df2')) 7....多键合并 如果连接键不止一个,可以传递一个由多个列名组成列表。 # 多键合并 merged_df = pd.merge(df1, df2, on=['key1', 'key2']) 8....处理缺失 合并数据,可能会遇到某些行在一个数据集中存在而在另一个数据集中不存在情况,导致合并后结果存在缺失。可以使用 fillna 方法填充缺失

14710

Python连接大法|“合体”

01 主办方 本次活动主办方是Python和Pandas 02 小梦merge 小超呀,你认识sqljoin兄么,我们可是好兄弟(用法非常类似) 03 小超concat 哼,我和数据库UNION...对象,如果位指定,则以left和right列名交集作为连接键 left_on 以左侧DataFrame作为连接键 right_on 以右侧DataFrame作为连接键 left_index 以左侧索引作为连接键...right_index 以右侧索引作为连接键 sort 根据连接键对合并后数据进行排序,默认为True suffixes 字符串元组,用于追加到重叠列名末尾,默认为('x','y') copy...2 2 # 外连接,取并集,缺失用NaN填充 pd.merge(df1,df2,on='key',how='outer') key data data1 0 a 0 0.0 1 b 1 1.0...,等价于merge 3.merge合并范围广泛,concat合并范围小,支持索引连接 当然了作为评委你们觉得如何呢

76310

盘一盘 Python 系列 4 - Pandas (下)

左连接 (left join):合并之后显示 df1 所有 右连接 (right join):合并之后显示 df2 所有 外连接 (outer join):合并 df1df2 共有的所有...df1 中有 IR Option 而 df2 没有,因此 Number_y 栏下为 NaN df2 中有 IR Swap 而 df1 没有,因此 Number_x 栏下为 NaN ----... df1df2 有两个相同列 (Asset 和 Instrument) ,单单只对一列 (Asset) 做合并产出 DataFrame 会有另一列 (Instrument) 重复名称。...先把 df1df2 列标签补齐 再把 df1df2 纵向连起来 pd.concat( [df1, df2] ) 得到 DataFrame index = [0,1,2,0,1],有重复...data」 函数 melt 可以生成一张含有多个 id 长表,然后可在 id 上筛选出我们想要信息,比如 melted_data[ lambda x: (x.Date=='25/02/2019

4.7K40

Pandas数据分析

分析前操作 我们使用read读取数据集,可以先通过info 方法了解不同字段条目数量,数据类型,是否缺失及内存占用情况 案例:找到小成本高口碑电影  思路:从最大N个中选取最小 movie2....重复。...',join = 'outer') pd.concat([df1,df2,df3],ignore_index=True) 可以使用concat函数添加列,与添加行方法类似,需要多传一个axis参数...,可以通过pd.merge命令组合数据,merge更灵活,如果想依据索引来合并DataFrame可以考虑使用join函数 how = ’left‘ 对应SQL left outer 保留左侧表所有...) merge: DataFrame方法 只能水平连接两个DataFrame对象 对齐是靠被调用DataFrame列或索引和另一个DataFrame列或索引 默认是内连接(可以设为左连接、

9910
领券