草庐IT

dataframe

全部标签

python - 将列添加到包含先前数据平均值的 Pandas DataFrame 的末尾

我有一个包含以下内容的DataFrameave_data:ave_dataTimeF7F8F900:00:0043.005593-56.50974625.27127101:00:0055.114918-59.17385231.84926202:00:0063.990762-64.69949252.426017我想在此数据框中添加另一列,其中包含每行F7、F8和F9列下的平均值。ave_dataDataFrame可能会随着我的代码稍后从不同的Excel文件中读取而改变大小,因此该方法需要是通用的(即添加包含平均值的列始终作为DataFrame中的最后一列,不在第4列中)desiredou

python Pandas : how to find rows in one dataframe but not in another?

假设我有两个表:people_all和people_usa,它们具有相同的结构,因此具有相同的主键。我怎样才能得到不在美国的人的表格?在SQL中,我会做类似的事情:selecta.*frompeople_allaleftouterjoinpeople_usauona.id=u.idwhereu.idisnullPython的等价物是什么?我想不出将这个where语句翻译成pandas语法的方法。我能想到的唯一方法是在people_usa中添加一个任意字段(例如people_usa['dummy']=1),进行左连接,然后只取“dummy”所在的记录'是nan,然后删除虚拟字段-这看起来

python - Pandas - 将列值拆分为新列

我有一个很大的数据框,我存储了很多冗余值,这使得我很难处理我的数据。我有以下形式的数据框:importpandasaspddf=pd.DataFrame([["a","g","n1","y1"],["a","g","n2","y2"],["b","h","n1","y3"],["b","h","n2","y4"]],columns=["meta1","meta2","name","data"])>>>dfmeta1meta2namedataagn1y1agn2y2bhn1y3bhn2y4我在name中有我想要的新列的名称,在data中有相应的数据。我想生成以下形式的数据框:df=pd.

python - 将 HTML 表放入 pandas Dataframe,而不是 dataframe 对象列表

如果此问题已在其他地方得到回答,我深表歉意,但我未能在这里或其他地方找到满意的答案。我对python和pandas比较陌生,在将HTML数据导入pandas数据框时遇到了一些困难。在pandas文档中它说.read_html()返回一个数据框对象列表,所以当我尝试进行一些数据操作以摆脱一些样本时,我得到了一个错误。这是我读取HTML的代码:df=pd.read_html('http://espn.go.com/nhl/statistics/player/_/stat/points/sort/points/year/2015/seasontype/2',header=1)然后我尝试清理它

python - Pandas:从保留其顺序的 2D numpy 数组创建数据框

假设您有3个numpy数组:lat、lon、val:importnumpyasnplat=np.array([[10,20,30],[20,11,33],[21,20,10]])lon=np.array([[100,102,103],[105,101,102],[100,102,103]])val=np.array([[17,2,11],[86,84,1],[9,5,10]])假设您想创建一个pandas数据框,其中df.columns=['lat','lon','val'],但由于每个值inlat与long和val数量相关联,您希望它们出现在同一行中。此外,您希望每列的行顺序遵循每个

python - 在 pandas DataFrame 中取消嵌套(分解)多个列表列的有效方法

我正在将多个JSON对象读取到一个DataFrame中。问题是有些列是列表。此外,数据非常大,因此我无法使用互联网上可用的解决方案。它们非常慢且内存效率低下这是我的数据的样子:df=pd.DataFrame({'A':['x1','x2','x3','x4'],'B':[['v1','v2'],['v3','v4'],['v5','v6'],['v7','v8']],'C':[['c1','c2'],['c3','c4'],['c5','c6'],['c7','c8']],'D':[['d1','d2'],['d3','d4'],['d5','d6'],['d7','d8']],'E'

python - 从 Pandas 数据框中的日期时间中删除时间戳

场景:我有一个数据框,其中包含从Excel工作表中检索到的多列。其中一些列是日期:一些只有日期(yyyy:mm:dd),一些有日期和时间戳(yyyy:mm:dd00.00.000000)。问题:当日期不是我的数据帧的索引时,如何从日期中删除时间戳?我已经尝试过的:从SO中的其他帖子(workingwithdatesinpandas-removeunseencharactersindatetimeandconverttostring和Howtostripapandasdatetimeofdate,hoursandseconds)我发现:pd.DatetimeIndex(dfST['tim

python - 按多列分组以查找重复行 Pandas

我有一个dfidval1val211.12.211.12.222.15.538.86.241.12.258.86.2我想按val1和val2进行分组,并仅使用多次出现相同val1和val2组合的行获得相似的数据帧。最终df:idval1val211.12.241.12.238.86.258.86.2 最佳答案 你需要duplicated使用参数subset指定要检查的列,使用keep=False对掩码的所有重复项进行检查,并按booleanindexing过滤:df=df[df.duplicated(subset=['val1','

python - 如何根据日期时间索引对 Pandas Dataframe 进行切片

这个问题困扰我很久了:给定一个简单的pandasDataFrame>>>dfTimestampCol12008-08-010.0013732008-09-010.0401922008-10-010.0277942008-11-010.0125902008-12-010.0263942009-01-010.0085642009-02-010.0077142009-03-01-0.0197272009-04-010.0088882009-05-010.0398012009-06-010.0100422009-07-010.0209712009-08-010.0119262009-09-01

python - 与 Numpy 不同,Pandas 似乎不喜欢内存步幅

Pandas似乎缺少R风格的矩阵级滚动窗口函数(rollapply(...,by.column=FALSE)),仅提供基于向量的版本。因此我试着关注thisquestion它与可以复制的示例配合得很好,但它不适用于pandasDataFrame,即使在使用(看似相同的)底层Numpy数组时也是如此。人为问题复制:importnumpyasnpimportpandasaspdfromnumpy.lib.stride_tricksimportas_stridedtest=[[x*yforxinrange(1,10)]foryin[10**zforzinrange(5)]]mm=np.arr