草庐IT

pandas-datareader

全部标签

python - 如何将 pandas 数据框中的时间戳转换为 datetime.date?

我需要在日期上将2个pandas数据框合并在一起,但它们目前具有不同的日期类型。1是时间戳(从excel导入),另一个是datetime.date。有什么建议吗?我试过pd.to_datetime().date但这只适用于单个项目(例如df.ix[0,0]),它赢了让我应用于整个系列(例如df['mydates'])或数据框。 最佳答案 我得到了一位同事的帮助。这似乎解决了上面发布的问题pd.to_datetime(df['mydates']).apply(lambdax:x.date())

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

Python Pandas 数据框读取 excel 表中的精确指定范围

我有很多不同的表格(以及Excel工作表中的其他非结构化数据)..我需要从Excel工作表“数据”的“Sheet2”创建一个超出范围“A3:D20”的数据框。我遇到过向下钻取到工作表级别的所有示例,但没有遇到如何从精确范围中选择它的示例。importopenpyxlimportpandasaspdwb=openpyxl.load_workbook('data.xlsx')sheet=wb.get_sheet_by_name('Sheet2')range=['A3':'D20']#一旦我得到这个,我打算在A列中查找数据并在B列中找到它的对应值。编辑1:我意识到openpyxl花费的时间太

Python Pandas - 如何通过 describe 函数计算 25 个百分位数

对于数据框中的给定数据集,当我应用describe函数时,我得到了基本统计数据,包括最小值、最大值、25%、50%等。例如:data_1=pd.DataFrame({'One':[4,6,8,10]},columns=['One'])data_1.describe()输出是:Onecount4.000000mean7.000000std2.581989min4.00000025%5.50000050%7.00000075%8.500000max10.000000我的问题是:计算25%的数学公式是什么?1)据我所知,是:formula=percentile*n(nisnumberofva

python - 在 Pandas 数据框中将字符串 2.90K 转换为 2900 或将 5.2M 转换为 5200000

在处理pandas数据框内的数据方面需要一些帮助。欢迎任何帮助。我有CSV格式的OHCLV数据。我已将文件加载到Pandas数据框中。如何将体积列从2.90K转换为2900或将5.2M转换为5200000。该列可以包含以千为单位的K和以百万为单位的M。importpandasaspdfile_path='/home/fatjoe/UCHM.csv'df=pd.read_csv(file_path,parse_dates=[0],index_col=0)df.columns=["closing_price","opening_price","high_price","low_price"