我最近升级了我的熊猫版本。我现在安装了最新的稳定版本:
pd.__version__
Out[5]: '0.10.1'
在这次升级之前,这是数据帧在qtconsole外壳中的显示方式(这不是我的屏幕截图,只是我在web上找到的一个)
最新版本的pandas也使用了不同的方法来设置显示选项
熊猫希望您使用set\u选项,而不是使用pd.set\u打印选项,配置如下:
pd.set_option('display.notebook_repr_html', True)
升级pandas版本后,q
我有一个数据帧df1,其中索引是DatetimeIndex,有5列,col1,col2,col3,col4,col5
我有另一个df2,它有一个几乎相等的datetimeindex(df1中可能缺少df1的某些天),还有一个“Value”列
当日期相同时,我想将df1乘以df2的值。但不是所有列的col1…col5,只有col1…col4
我可以看到有可能乘以col1*Value,然后乘以col2*Value,以此类推。。。并组成一个新的数据帧来取代df1
有更有效的方法吗?您可以通过对第二个数
我是齐柏林飞艇的新手。我有一个用例,其中我有一个熊猫数据框架。我需要使用齐柏林飞艇的内置图表来可视化集合。我这里没有明确的方法。我的理解是,齐柏林飞艇可以将数据可视化,如果它是RDD格式。所以,我想将pandas数据帧转换为spark数据帧,然后进行一些查询(使用sql),我将可视化。
首先,我尝试将pandas数据帧转换为spark,但失败了
%pyspark
import pandas as pd
from pyspark.sql import SQLContext
print sc
df
我有一个三级多索引的熊猫数据帧。我想提取前两个索引中的“对角线”。即,提取前两个指数相等的值,而第三个指数取所有可能的值
下面是生成这样一个数据帧的示例代码
import pandas as pd
import numpy as np
df = pd.DataFrame()
d = 0
e = 1
for A in xrange(3):
for B in xrange(3):
for C in xrange(2):
df = df.append
我有以下数据
id starting_point ending_point Date
A 2525 6565 25/05/2017 13:25:00
B 5656 8989 25/01/2017 10:55:00
A 1234 5656 20/05/2017 03:20:00
我有一个简单的CSV,有两列:
ErrorWeek(一年中周数的数字)
ErrorCount(针对给定周内的错误数)
我将CSV数据读入熊猫数据框,如下所示:
df = pd.read_csv("Errors.csv", sep=",")
X_train, X_test, y_train, y_test = train_test_split(
df['ErrorWeek'], df['ErrorCount'], random_state=0)
df.head()显示:
到目前为止还不
这可能是一个bug吗?当我对groupby对象使用descripe()或std()时,我得到了不同的答案
import pandas as pd
import numpy as np
import random as rnd
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
...: 'foo', 'bar', 'foo', 'foo'],
...:
本页似乎记录了pad和ffill,就好像它们是同义词一样
这两者之间有什么区别吗?或者它们真的可以互换吗?是的,它们是同一事物的同义词-向前填充。启动IPython终端会话并键入pd.DataFrame.fillna?查看参数说明。特别是,
方法:{'backfill','bfill','pad','ffill',无},默认值无
用于填充重新索引系列中的孔的方法
pad/ffill:将上一个有效观察向前传播到下一个有效观察
backfill/bfill:使用下一个有效观察值来填充间隙
我有以下数据帧
import numpy as np
import pandas as pd
import scipy as sc
import scipy.stats as sct
d= {'col1': [1, 2,5,0.6], 'col2': [3, 4,1,0.8]}
df = pd. DataFrame(data=d)
我想在该数据帧中添加两个新列,但两个新列的元素是col1和col2的随机泊松分布
我使用以下编码来生成新列(col3和col4)
这是我的数据框的一个小例子
我现在有一个函数和一个循环。目的是遍历数据帧中的每一列,如果索引值小于functino定义的值,则给出一个值0,如果不保留为当前值
它正在工作,但需要很长时间才能运行。有人能想出更好的办法吗?我觉得我应该使用loc或iloc,但不确定如何应用
df = pd.DataFrame(np.random.randint(0, 20, [5, 3]), columns=['A', 'B', 'C'])
A B C
0 6 19 14
1 10 7 6
2 18 10
所以我有ID,日期的数据,以及他们那天是否有活动
ID DATE DONE
1 2009-1-3 Yes
1 2009-1-15 Yes
2 2009-9-3 Yes
3 2009-10-7 No
1 2009-12-1 Yes
3
我在Jupyter工作,有很多专栏,很多都是关于日期的。我想创建一个循环,该循环将返回一个新列,其中两个同名列之间的日期差
例如:
df['Site Visit ACD']
df['Site Visit ECD']
df['Sold ACD (Loc A)']
df['Sold ECD (Loc A)']
新列将有一列df[‘现场访问周期’]=ACD和ECD之间的日期差。通常,它总是包含“ACD”的列减去包含“ECD”的列。我怎么写这个
感谢您的帮助 以下代码将执行以下操作:
查找相似的列(使
我有大量的数据
frame = pd.DataFrame(res)
groupedData = frame.groupby(['objectType','userId','actionType']).size()
(pd.DataFrame(data=groupedData)).to_excel(writer,'sheet2')
writer.save()
我如何通过使用多处理或并行来加速它
我有一个如下的数据帧
df2=pd.DataFrame({
“姓名”:[‘托马斯’、‘托马斯’、‘托马斯·约翰’],
“信用证”:[12001300900],
“心情”:[‘悲伤’、‘快乐’、‘快乐’]
})
我试着把它分类如下
aggrFDColumnDetails={
“语气”:pd.Series.mode,
“信用证”:“金额”
}
df2.groupby(['Name']).agg(aggrFDColumnDetails)
但它抛出了以下错误
Exception: Must prod
我有一个关于电影的数据框
栏目包括:评级、性别、年龄、职业、邮政编码、电影名称
如果我执行如下透视表
df.pivot_table('rating', index = 'title', columns = ["occupation",'gender'], aggfunc ='mean')
它是否自动计算每个性别的平均评分,然后将其放在相应的职业下?从结果来看,这似乎是正确的,但我只是想确定一下
我认为代码是正确的,应该简化为省略aggfunc,因为默认函数是np.mean:
df = df.p
我想在watson参加Kaggle titanic竞赛,但不幸的是watson IBM Studio无法处理我的请求
有人知道为什么吗?
我找到了解决办法。这是一般设置问题
我想阅读由三列组成的CSV文件:公司编号、股票代码、业务描述。“业务描述”列包含公司的大量信息
(ex)Albemarle Corporation是一家专业化学品的开发商、制造商和销售商,旨在满足其客户的需求™ 全球一系列终端市场的需求。
该公司服务的终端市场包括能源储存、石油精炼、消费电子、建筑、汽车、润滑油、制药、作物保护和定制化学服务
当我使用pd.read_CSV时,它在从第一行到最后一行读取第一列和第二列之后开始读取description列
我该怎么办
您能发布阅读文件后您的数据框的外
我有df,例如2列:Col1,Col2,我想选择和设置值
df.loc[df['Col1'] == "SomeValue", 'Col2'][beginningIndex:endingIndex] = np.nan
但是,这实际上并没有设置值,当我稍后访问同一位置时,值没有更改。这是调用链接索引,不起作用。您应该尝试df.loc[df.index.to_series().between(beginIdx,endIdx)&df['Col1'].eq(“SomeValue”),'Col2']=np
我有一个如下所示的数据框
ID ideal_appt_time service_time
1 2020-01-06 09:00:00 22
2 2020-01-06 09:30:00 15
1 2020-01-08 14:00:00 42
2 2020-01-12 01:30:00 5
我想以分钟为单位添加服务时间,并创建名为finish的新专栏
预期产出:
我有第一个数据帧df:
cur_cost_id cur_sales_id product_description
date_facture
2020-01-01 00:20:09 2 1 io
2020-01-01 00:25:12 2
我刚从0.24升级到pandas 1.1,我觉得我好像失去了理智。你真的不能再用日期索引DatetimeIndex了吗
#This now fails!
import datetime as dt
s = pd.Series([1,2], pd.DatetimeIndex([dt.date(2020,1,1),dt.date(2020,1,2)]))
s.loc[dt.date(2020,1,2)]
-----------------------------------------------
标签: Pandas
pandas-groupbypandas-resample
我已将索引设置为日期。
我可以每月对日期进行分组并应用聚合函数,但我不能按月对日期进行分组并应用(列出)另一列(名为“Stuff”的列)的值:
这将显示一条错误消息:
ValueError: Length of passed values is 64, index implies 65.
df['Stuff']。重采样('M')。应用(列表)?成功了,谢谢你,广,你可以把它作为答案发布df['Stuff']。重采样('M')。应用(列表)?它成功了,谢谢你,Quang,你可以把它作为答案发布!
我可以将“qualify”列中的两个值替换为true或false,如下所示,效果很好:
df['qualify'] = df['qualify'].map({'yes':True, 'np':False})
但是,如果我使用它来更改另一列中的名称,它将更改名称,但将使该列中除更改为NaN之外的所有其他值都变为NaN
df['name'] = df['name'].map({'dick':'Harry'})
当然,使用replace将正确地完成这项工作。但是我需要理解为什么map()在第二个实
我正在努力写回Azure Blob存储容器。我能够通过以下方式读取容器中的内容:
storage_account_name = "expstorage"
storage_account_key = "1VP89J..."
container = "source"
spark.conf.set("fs.azure.account.key.{0}.blob.core.windows.net".format(storag
我有一个数据帧,我正在取消堆叠,将数据向下移动1行,然后重新堆叠。
代码非常简单:
df = df.set_index(["Date", "ID"]).unstack("ID")
df = df.shift(1)
df = df.stack(1, dropna = False)
当我执行初始反堆栈时,我会得到很多NaN值,这很好,也是我所期望的
但是当我重新堆叠df时,我得到了索引列的重复版本…一个版本将拥有我想要的数据;一个会有一个
我有这个df:
round_id team opponent home_dummy GC GP P
0 1.0 Flamengo Atlético-MG 1.0 1.0 0.0 0
1 4.0 Flamengo Grêmio 1.0 1.0 1.0 1
2 5.0 Flamengo
您好,我正在尝试在一个平台上做一个简单的日期差异。以下是我正在使用的DF示例:
df = pd.DataFrame.from_records([
{'id':277176, 'Date1':'3/22/2021', 'Date2':'4/22/2021'}
], index='id)
| id | Date1 | Date2 |
|-------:|:----------|:----------|
| 277176 | 3/22/2021 | 4/22/2
我想用dask做一个groupby。
使用熊猫,我将不得不写下这篇文章,以使一个基本的组和过滤器。
我的数据集包含两个索引:ORDER\u ID和PROD\u ID。每个由ORDER\u ID定义的订单,我们可以有一个或多个由其PROD\u ID定义的产品。
我的目标是删除包含1个产品的订单ID
使用熊猫,我可以这样做:
df = df.groupby('ORDER_ID').filter(lambda x: len(x) >= 2)
我没有找到任何适合dask的解决方案。讨论了熊猫和d
我有这个数据框:
标签|时间| 0 |值| 0 |时间| 1 |值| 1 |时间| 2 |值|2
值0列对应于时间0,值1对应于时间1
time_i是唯一的,这意味着对于所有行,time_0具有相同的值,time_1和time_2的值相同
我想实现两件事:
1-先按标签分组,然后按时间分组
结果应该如下所示:
Label0 time_0(0) value_0(0)
value_0(1)
...
time_1(0)
这是我的虚拟df:
A B C D E
0 0.4 0.3 0.5 0.2 0.5
1 0.2 0.6 0.4 0.1 0.8
我想从5列中选择3列,然后计算它们的乘积。比如第0行:A x B x C=0.06和A x B x D=0.024等等。。。有10种不同的组合,从5个组合中选择3个,我想得到所有产品组合的总和。有没有办法做到这一点?使用列表压缩,对每个系列进行重命名,并通过以下方式连接:
编辑:如果要筛选列名称并在列表中指定:
fr
我有一个多索引(TestName和TestResult.output)数据框架,希望按列值降序排序,并维护可视的多索引对(TestName和TestResult.output)。我怎样才能做到这一点
例如,我想按列“n*%”对TestResult的desc进行排序。结果索引值“Failed”如下表所示:
我希望实现以下结果,在索引中保持通过-失败对:
我试过这个:
orderedByTotalNxPercentDesc = myDf.sort_values(['TestResult.Outc
我希望能得到一些帮助。我试图从csv文件中创建一些简单的条形图/线形图,但是,在我在excel中手动打开此csv文件并将数据类型更改为数字之前,它会给我一个空图形。我尝试过用pd.to_numeric将数据类型更改为_numeric,但它仍然给出了一个空图
我试图可视化的csv是我用Beautiful Soup收集的web数据,我使用了。text方法确实去除了所有HTML标记,所以可能是它导致了这个问题
非常感谢你的帮助。谢谢
数据文件:
您的csv文件已损坏。每行末尾都有逗号。删除它们,您的代
我想使用搜索结果作为对数据帧进行切片的终点
import pandas as pd
df = pd.DataFrame({'A':['apple','orange','bananna','watermelon'],'B':[1,2,3,2]})
print(df)
pos = df[df['A'].str.contains('ban')]
print(pos)
: A B
: 0 apple 1
: 1 orange 2
: 2 b
我有3个不同列的数据帧,每一行有不同的ID(对于所有3个DF)
我已将所有这些行id追加到Dataframe4中并进行了排序
我试图根据dataframe4排序,以正确的顺序读取3个dataframes中的每一行
但我被困在这里:
df1=pd.DataFrame({
“rowid”:[1',4'],
“Column2':['1100','1100']
})
df2=pd.DataFrame({
'rowid':['2','5','7','9','11','13'],
“第三栏”:[“xxr”
我有一个引导函数,定义如下。我希望将此应用于数据帧的分组列
bootstrap函数返回一个估计值、一个标准错误和一个对称置信区间,我希望每个值都位于数据帧的子列中。我的问题是,我有多个不同类型的输出变量,我不知道如何处理
下面是我迄今为止的例子
如果确实可行,我将如何跨列应用此引导函数
import numpy as np
from scipy.special import erfinv
def _bootstrap(data, bootnum=100, samples=None, bootf
标签: Pandas
flattentwitterapi-pythonjsonlinesjson-normalize
我一直在为学术目的收集twitter的历史数据,我的最终目标是在Postgres中对数据进行结构化和组织。然而,当从API中展平杂乱的嵌套数据时,我遇到了一些问题
我从每个API请求中获得了一堆JSONL文件,我一直在使用Jupyter笔记本上python中的数据帧处理这些数据
每个文件中都包含嵌套的JSON文件:
import pandas as pd
import json
def load_jsonl(input_path) -> list:
""&quo
我正在使用pandas从Twitter数据集中执行一些字符串匹配
我已经导入了一个tweet的CSV,并使用日期编制了索引。然后,我创建了一个包含文本匹配项的新列:
In [1]:
import pandas as pd
indata = pd.read_csv('tweets.csv')
indata.index = pd.to_datetime(indata["Date"])
indata["matches"] = indata.Tweet.str.findall("rudd|abbott"
我正在计算多索引数据帧中几个索引的平均值和stdev:
gp = df['measure'].groupby(level=('week', 'day', 'Inj'))
means = gp.mean()
errors = gp.std()
print means
week day Inj
35 0 PBS 32.583333
mPFFs 50.000000
1 PBS 7.833333
我想知道是否有一种简单而简洁的方法可以使用Pandas(等)从时间序列数据创建滚动窗口表示
例如,考虑下面的系列对象:
x = pd.Series(np.linspace(0,10,100))
df_wind = pd.DataFrame(roll_wind_func(x, wind_size=5))
Out:
0 1 2 3 4
0 0.000000 0.324699 0.614213 0
我很惊讶,我没有发现任何相关的东西
我只需要用一些统一的符号来修饰这个数据框,例如“_389;”
所以,我需要这个
A B
a1 a2 b1 b2
id
264 0 0 1 1
321 1 1 2 2
看起来像这样:
我正在处理足球数据集,这是我得到的以下错误。请帮忙
#what is the win rate of HomeTeam?
n_matches = df.shape[0]
n_features = df.shape[1] -1
n_homewin = len(df(df.FTR == 'H'))
win_rate = (float(n_homewin) / (n_matches)) * 100
print ("Total number of matches,{}".forma
我想将值从python中的数据框导出到excel
如果我没有在末尾添加'writer.save()':我会得到以下异常:工作簿析构函数捕获异常。工作簿可能需要显式关闭()。
我没有创建单独的工作簿。
在添加'writer.save()'时,我获得了PermissionError:[Errno 13]权限被拒绝:'F:..\docs.xlsx'
我尝试在添加writer.save()和不添加writer.save()的情况下执行我的程序,但仍然出现异常或PermissionError
#file_
我有两个数据帧,如下所示
df1-检查员ID和指定地点
df1:
df2-检查员在每个地方提出的票证数量
df2:
从上面的数据帧,我想生成下面的数据帧
Inpector_ID Place Tickets Assigned
1 Bangalore 20 Yes
1 Mumbai 4 No
1 Chennai 0
我正在尝试计算连续的零:
每次二进制列上出现非零值时,连续列上的计数将重新开始
binary consec
1 1 0
2 0 1
3 0 2
4 0 3
5 0 4
5 1 0
6 0 1
7 0 2
8 1 0
只要努力,我就能完成
df = pd.DataFrame({"b
我有以下数据:
import matplotlib.pyplot as plt
from matplotlib.patches import Patch
import seaborn as sns
import pandas as pd
df = pd.DataFrame({'C': np.random.choice([False, False, False, True], 100000),
'D': np.random.choice([False,Tru
我有按组分类的数据,每个组有一个给定的分位数百分比。我想为每个组创建一个阈值,根据分位数百分比分隔组内的所有值。因此,如果一组的q=0.8,我希望最低80%的值为1,最高20%的值为0
因此,考虑到如下数据:
我希望对象1、2和5得到结果1,其他3得到结果0。我的数据总共由7.000.000行和14.000组组成。我尝试使用groupby.quantile执行此操作,但因此我需要一个恒定的分位数度量,而我的数据对每个组都有不同的度量。设置:
num = 7_000_000
grp_num =
df
USERID op_time
a 2020-02-14 14:54:07
b 2020-02-12 17:01:31
The type of op_time is datetime64[ns].
USERID op_time converted_time
a 2020-02-14 14:54:07 14:54
b
这是我的源数据帧
df = pd.DataFrame({'uid': [1, 2, 3, 5, 6],
'grades': [69.233627, 70.130900, 83.357011, 88.206387, 74.342212]})
df2 = pd.DataFrame({'uid': [1, 2, 9],
'grades': [0.0,0.0,0.0]})
这是我的目标数据帧
df = pd.DataFrame({'uid': [1,
标签: Pandas
group-byaggregatemulti-index
我有以下多索引数据帧:
df = pd.DataFrame({
'cluster': [1, 1, 2, 1, 2, 2, 1, 3, 2],
'mark': [8, 5, 10, 20, 4, 1, 6, 4, 1],
'dt': ['2021-03-23', '2021-03-25', '2021-03-23', '2021-03-28', '2021-03-25', '2021-03-28', '2021-03-29', '2021-03-23', '2
我有一个数据帧:
df = pd.DataFrame({
'BU': ['AA', 'AA', 'AA', 'BB', 'BB', 'BB'],
'Line_Item': ['Revenues','EBT', 'Expenses', 'Revenues', 'EBT', 'Expenses'],
'201901': [100, 120, 130, 200, 190, 210],
'201902': [100, 120, 130, 200, 190, 210],
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 280 页