【Python:如何从pandas系列中获取字典中的值】教程文章相关的互联网学习教程文章

python – 将字符串的Pandas DataFrame转换为直方图【代码】

假设我有一个像这样创建的DataFrame:import pandas as pd s1 = pd.Series(['a', 'b', 'a', 'c', 'a', 'b']) s2 = pd.Series(['a', 'f', 'a', 'd', 'a', 'f', 'f']) d = pd.DataFrame({'s1': s1, 's2', s2})实际数据中的字符串中存在相当多的稀疏性.我想创建字符串出现的直方图,看起来像d.hist()(例如,带有子图)为s1和s2(每个子图一个)生成的字符串. 只是做d.hist()给出了这个错误:/Library/Python/2.7/site-packages/pandas/tool...

python – pandas中有.groupby对面的“ungroup by”操作吗?【代码】

假设我们采用熊猫数据帧……name age family 0 john 1 1 1 jason 36 1 2 jane 32 1 3 jack 26 2 4 james 30 2然后做一个groupby()……group_df = df.groupby('family') group_df = group_df.aggregate({'name': name_join, 'age': pd.np.mean})然后做一些聚合/汇总操作(在我的例子中,我的函数name_join聚合名称):def name_join(list_names, concat='-'):return concat.join(l...

python – 如何使用IQR的pandas过滤器?【代码】

是否有一种内置的方法可以通过IQR对列进行过滤(即Q1-1.5IQR和Q3 1.5IQR之间的值)?另外,建议大熊猫中任何其他可能的广义过滤都将受到重视.解决方法:据我所知,最简洁的符号似乎是由查询方法带来的.# Some test data np.random.seed(33454) df = (# A standard distributionpd.DataFrame({'nb': np.random.randint(0, 100, 20)})# Adding some outliers.append(pd.DataFrame({'nb': np.random.randint(100, 200, 2)}))# Reseting the...

python – 在pandas中提取datetime类型列的第一天【代码】

我有以下数据帧:user_id purchase_date 1 2015-01-23 14:05:212 2015-02-05 05:07:303 2015-02-18 17:08:514 2015-03-21 17:07:305 2015-03-11 18:32:566 2015-03-03 11:02:30和purchase_date是datetime64 [ns]列.我需要添加一个新列df [month],其中包含购买日期的第一天:df['month'] 2015-01-01 2015-02-01 2015-02-01 2015-03-01 2015-03-01 2015-03-01我在SQL中寻找类似DATE_FO...

python – 用Pandas读取空格分隔的数据【代码】

参见英文答案 > How to make separator in pandas read_csv more flexible wrt whitespace? 4个我曾经用numpy.loadtxt()读取我的数据.但是,最近我在SO发现,pandas.read_csv()要快得多. 要阅读这些数据我使用:pd.read_csv(filename, sep=' ',header=None)我现在遇到的问题是,在我的情况下,分隔符可以从一个空格,x空格到甚至一个标签不同. 这里我的数据如何:56.00 101.85 52.40 101.85 56....

python – 确认两个pandas数据帧的相等性?【代码】

如何断言以下两个数据帧df1和df2是否相等?import pandas as pd df1 = pd.DataFrame([1, 2, 3]) df2 = pd.DataFrame([1.0, 2, 3])df1.equals(df2)的输出为False.截至目前,我知道两种方式:print (df1 == df2).all()[0]要么df1 = df1.astype(float) print df1.equals(df2)看起来有点凌乱.有没有更好的方法来进行这种比较?解决方法:您可以使用assert_frame_equal而不检查列的dtype.# Pre v. 0.20.3 # from pandas.util.testing impo...

python – Pandas:从行中的每个元素中减去行均值【代码】

我有一个数据框,其行由化学元素类型索引,列表示不同的样本.值是浮点数,表示每个样本中行元素的存在程度. 我想计算每一行的平均值,并从该特定行中的每个值中减去它以规范化数据,并创建该数据集的新数据帧. 我尝试使用mean(1),它给了我一个具有每个化学元素均值的Series对象,这很好,但后来我尝试使用减法,这是行不通的.解决方法:您可以使用DataFrame的子方法并指定减法应按行(轴= 0)发生,而不是默认的列式行为:df.sub(df.mean(axis=...

python – pandas:查找给定列的百分位统计数据【代码】

我有一个pandas数据框my_df,在那里我可以找到给定列的mean(),median(),mode():my_df['field_A'].mean() my_df['field_A'].median() my_df['field_A'].mode()我想知道是否有可能找到更详细的统计数据,如90%?谢谢!解决方法:您可以使用pandas.DataFrame.quantile()功能,如下所示.import pandas as pd import randomA = [ random.randint(0,100) for i in range(10) ] B = [ random.randint(0,100) for i in range(10) ]df = pd.Da...

python – 如何使pandas HDFStore’put’操作更快【代码】

我正在尝试使用pandas,hdf5构建一个ETL工具包. 我的计划是 >将表从mysql中提取到DataFrame;>将此DataFrame放入HDFStore; 但是当我正在执行第2步时,我发现将数据帧放入* .h5文件需要花费太多时间. >源mysql服务器中表的大小:498MB > 52列> 924,624条记录 >将数据帧放入内容后的* .h5文件大小:513MB >’put’操作费用为849.345677137秒 我的问题是:这个时间成本是否正常?有没有办法让它更快? 更新1 谢谢Jeff >我的代码非常简单:...

python – Pandas将Dataframe转换为嵌套的Json【代码】

我的问题基本上与这个问题相反: Create a Pandas DataFrame from deeply nested JSON 我想知道是否可以做相反的事情.给出如下表:Library Level School Major 2013 Total 200 MS_AVERY UGRAD GENERAL STUDIES GEST 5079 201 MS_AVERY UGRAD GENERAL STUDIES HIST 5 202 MS_AVERY UGRAD GENERAL STUDIES MELC 2 203 MS_AVERY UGRAD GENERAL STUDIES PHIL 10 204 ...

python – Pandas删除数据帧内指定字符后的字符串部分【代码】

我想要一个简单的方法来删除数据帧内指定字符后的字符串部分.这是一个简化的例子: DF:obs a b c d 0 1 1-23-12 1 2 3 1 2 12-23-13 4 5 5 2 3 21-23-14 4 5 5我想在第一个符号后删除a列中的部分,我的预期输出是: newdf:obs a b c d 0 1 1 1 2 3 1 2 12 4 5 5 2 3 21 4 5 5解决方法:您可以通过将重新格式化函数传递给apply方法来重新格式化值,如下所示:from Stri...

python – Pandas msgpack vs pickle【代码】

Pandas中的msgpack应该是pickle的替代品. 按Pandas docs on msgpack:This is a lightweight portable binary format, similar to binary JSON,that is highly space efficient, and provides good performance both onthe writing (serialization), and reading (deserialization).然而,我发现它的性能似乎与咸菜不相上下.df = pd.DataFrame(np.random.randn(10000, 100))>>> %timeit df.to_pickle('test.p') 10 loops, best of 3...

python – 在Pandas中将列名从int转换为string【代码】

我有一个混合列名的pandas数据帧: 1,2,3,4,5,’班级’ 当我将此数据帧保存到h5file时,它表示由于混合类型,性能将受到影响.如何在pandas中将整数转换为字符串?解决方法:你可以简单地使用df.columns = df.columns.astype(str):In [26]: df = pd.DataFrame(np.random.random((3,6)), columns=[1,2,3,4,5,'Class'])In [27]: df Out[27]: 1 2 3 4 5 Class 0 0.773423 0.865091 0.614956 0.2...

python – 在偏移前滚后添加一个月偏移量的pandas超出边界纳秒时间戳【代码】

我很困惑pandas如何用这些行吹出日期时间对象的界限:import pandas as pd BOMoffset = pd.tseries.offsets.MonthBegin() # here some code sets the all_treatments dataframe and the newrowix, micolix, mocolix counters all_treatments.iloc[newrowix,micolix] = BOMoffset.rollforward(all_treatments.iloc[i,micolix] + pd.tseries.offsets.DateOffset(months = x)) all_treatments.iloc[newrowix,mocolix] = BOMoffset.rol...

python – 在列上使用Merge和在Pandas中使用Index【代码】

我有两个共享项目编号的独立数据框.在type_df中,项目编号是索引.在time_df中,项目编号是一列.我想计算type_df中项目类型为2的行数.我试图用pandas.merge()来做这个.它在使用两列时效果很好,但不是索引.我不确定如何引用索引,如果合并甚至是正确的方法.import pandas as pd type_df = pd.DataFrame(data = [['Type 1'], ['Type 2']], columns=['Project Type'], index=['Project2', 'Project1']) time_df = pd.DataFrame(data = [['...

字典 - 相关标签