【python – pandas透视数据帧,重复行】教程文章相关的互联网学习教程文章

处理pandas中的零DataFrames Python中的列分区【代码】

在Python中将pandas DataFrame列彼此分开时,处理零分母的最佳方法是什么?例如:df = pandas.DataFrame({"a": [1, 2, 0, 1, 5], "b": [0, 10, 20, 30, 50]}) df.a / df.b # yields error我想将分母为零的比率注册为NA(numpy.nan).如何在熊猫中有效地完成这项工作? 转换为float64在列级别上不起作用:In [29]: df Out[29]: a b 0 1 0 1 2 10 2 0 20 3 1 30 4 5 50In [30]: df["a"].astype("float64") / df["b"].asty...

Python pandas dataframe – 以编程方式设置频率的任何方法?【代码】

我正在尝试处理这样的CSV文件:df = pd.read_csv("raw_hl.csv", index_col='time', parse_dates = True)) df.head(2)high low time 2014-01-01 17:00:00 1.376235 1.375945 2014-01-01 17:01:00 1.376005 1.375775 2014-01-01 17:02:00 1.375795 1.375445 2014-01-01 17:07:00 NaN NaN ... 2014-01-01 17:49:00 1.375645 1.375445type(df.index) pandas.tseries.index.DatetimeIndex...

python – Pandas:将TimeGrouper与另一个Groupby参数结合使用【代码】

我有以下DataFrame:df = pd.DataFrame({ 'Branch' : 'A A A A A B'.split(), 'Buyer': 'Carl Mark Carl Joe Joe Carl'.split(), 'Quantity': [1,3,5,8,9,3], 'Date' : [ DT.datetime(2013,1,1,13,0), DT.datetime(2013,1,1,13,5), DT.datetime(2013,10,1,20,0), DT.datetime(2013,10,2,10,0), DT.datetime(2013,12,2,12,0), DT.datetime(2013,12,2,14,0), ]})from pandas.tseries.resample...

python – Pandas只从数据帧中选择数字或整数字段【代码】

我有这个Pandas数据帧(df):A B 0 1 green 1 2 red 2 s blue 3 3 yellow 4 b black类型是对象. 我选择A值为整数或数字的记录:A B 0 1 green 1 2 red 3 3 yellow谢谢解决方法:调用数据帧(注意双方括号df [[‘A’]]而不是df [‘A’])并调用字符串方法isdigit(),然后我们设置param axis = 1来应用lambda函数行-明智的.这里发生的是索引用于创建布尔掩码.In [66]: df[df[['A']...

python – Pandas Groupby Agg函数中的列顺序【代码】

是否有自动方法来维护返回的数据帧的列(‘C’,’B’,’A’)的顺序?g = df.groupby(['people']) g['people'].agg({'C' : len,'B' : len,'A' : len,})这将返回A,B,C而不是C,B,A的列. 我只能找到示例,但不能找到agg函数本身的文档. 这似乎是一种解决方法:g = df.groupby(['people']) g['people'].agg({'C' : len,'B' : len,'A' : len,}).reindex_axis(['C','B','A'], axis=1)解决方法:OrderedDict与pandas-0.18.0-py2.7令人惊讶地工...

python – pandas DataFrame在布尔掩码上设置值【代码】

我正在尝试在pandas DataFrame中设置许多不同的值,以达到相同的值.我以为我理解了pandas的布尔索引,但是我没有找到关于这个特定错误的任何资源.import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'f']}) mask = df.isin([1, 3, 12, 'a']) df[mask] = 30 Traceback (most recent call last): ... TypeError: Cannot do inplace boolean setting on mixed-types with a non np.nan value上面,我想用值30替换...

python – 将pandas数据帧拆分成许多块【代码】

假设我有一个具有以下结构的数据帧:observation d1 1 d2 1 d3 -1 d4 -1 d5 -1 d6 -1 d7 1 d8 1 d9 1 d10 1 d11 -1 d12 -1 d13 -1 d14 -1 d15 -1 d16 1 d17 1 d18 1 d19 1 d20 1其中d1:d20是某个日期时间索引(在此处概括). 如果我想将d1:d2,d3:d6,d7:d10等分成各自的“块”,我将如何Python化? 注意:df1 = df[(df.observation==1)] df2 = df[(df.observation==-1)]不是我想要的. 我可以想到蛮力的方式,这些方法可行...

python – pandas数据框中的逻辑或/按位OR【代码】

我试图使用布尔掩码从2个不同的数据帧获得匹配. 使用逻辑OR运算符:x = df[(df['A'].isin(df2['B']))or df['A'].isin(df2['C'])]Output:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().但是,使用按位OR运算符,结果将成功返回.x = df[(df['A'].isin(df2['B']))| df['A'].isin(df2['C'])]Output: x这两者是否存在差异并且按位或者是最佳选择?为什么逻辑OR不起作用?解...

将每隔一行移动到一个新列并将pandas python组【代码】

我有一个比我的实际数据集小得多的示例数据集,它实际上是一个文本文件,我想把它作为一个pandas表读取并用它做一些事情:import pandas as pd d = {'one': ['title1', 'R2G', 'title2', 'K5G', 'title2','R14G', 'title2','R2T','title3', 'K10C', 'title4', 'W7C', 'title4', 'R2G', 'title5', 'K8C']} df = pd.DataFrame(d)示例数据集如下所示:df Out[20]: one 0 title1 1 R2G 2 title2 3 K5G 4 title2 5 R1...

使用Python / Pandas提取时间序列中的工作日【代码】

我正在使用时间序列中的高频数据,我希望从我的数据中获取所有工作日.我的数据观察以秒为单位,因此每天有86400秒,我的数据集分布在31天(因此有2,678,400次观察!). 这是我的数据的(部分):In[1]: ts Out[1]: 2013-01-01 00:00:00 0.480928 2013-01-01 00:00:01 0.480928 2013-01-01 00:00:02 0.483977 2013-01-01 00:00:03 0.486725 2013-01-01 00:00:04 0.486725 ... 2013-01-31 23:59:56 0.451630 2013-01-31 ...

python – 计算pandas中数据框中每列的值更改【代码】

是否有任何巧妙的方法来计算pandas中数据框中每列的值更改次数? 我不想让自己在每一列上循环,例如:import pandas as pdframe = pd.DataFrame({'time':[1234567000,1234567005,1234567009],'X1':[96.32,96.01,96.05],'X2':[23.88,23.96,23.96] },columns=['time','X1','X2']) print(frame)changes = [] for column_name in frame.columns.values:print('column_name: {0}'.format(column_name))changes.append(sum(frame[column_n...

python – 根据另一列的值在pandas中创建新列【代码】

我有一些关于不同个体性别的数据集.比如说,数据集看起来像这样:Male Female Male and Female Male Male Female Trans Unknown Male and Female有些人认为自己是男性,有些是女性,有些人认为自己是男性和女性. 现在,我想要做的是在Pandas中创建一个映射的新列Males to 1, Females to 2, Others to 3我写了一些代码def gender(x):if x.str.contains("Male")return 1elif x.str.contains("Female")return 2elif return 3df["Gender V...

python – 在打印pandas数据帧时禁止描述性输出【代码】

说我有数据帧,c:a=np.random.random((6,2)) c=pd.DataFrame(a) c.columns=['A','B']打印第0行值:print c.loc[(0),:]结果是:A 0.220170 B 0.261467 Name: 0, dtype: float64我想压缩名称:0,dtype:float64行,以便我得到:A 0.220170 B 0.261467有谁知道怎么样? (n.b.我将其附加到文本文件中)解决方法:您可以为系列调整__unicode__方法:In [11]: s = pd.Series([1, 2])In [12]: s Out[12]: 0 1 1 2 dtype: i...

python – 在计算Pandas创建的数据框中列的平均值时指定“skip NA”【代码】

我正在通过复制一些R小插曲的郊游来学习Pandas包.现在我使用R的dplyr包作为例子: http://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html R脚本planes <- group_by(hflights_df, TailNum) delay <- summarise(planes,count = n(),dist = mean(Distance, na.rm = TRUE)) delay <- filter(delay, count > 20, dist < 2000)Python脚本planes = hflights.groupby('TailNum') planes['Distance'].agg({'count' : 'co...

在Python / Pandas中创建部分SAS PROC SUMMARY替换【代码】

我们正在努力摆脱SAS和Python / Pandas.但是,我们遇到的一件事就是创建具有SAS例程灵活性的PROC SUMMARY(AKA PROC MEANS)的替代品.对于非SAS用户:PROC SUMMARY只是一个例程,用于生成一个表,其中包含数据集中“跨所有观察或观察组内的变量的描述性统计”,以解释SAS文档.我们的要求只是完整功能的一小部分 – 输出我们拥有的表: >能够将不同的统计数据应用于不同的列(现在只是计数,总和,平均值,加权平均值)>能够处理零到多个分组变...