草庐IT

Pandas-Datareader

全部标签

python - Pandas:使用循环和分层索引将多个 csv 文件导入数据框

我想将目标目录中的多个CSV文件(具有不同列数)读取到单个PythonPandasDataFrame中,以高效地搜索和提取数据。示例文件:Events1,0.32,0.20,0.672,0.94,0.19,0.14,0.21,0.943,0.32,0.20,0.64,0.324,0.87,0.13,0.61,0.54,0.25,0.435,0.62,0.21,0.77,0.44,0.16这是我目前所拥有的:#getalistofallcsvfilesintargetdirectorymy_dir="C:\\Data\\"filelist=[]os.chdir(my_dir)forfil

python - 将列值更改为 Pandas 中的列标题

我有以下代码,它采用pandas数据框的一列中的值,并将它们作为新数据框的列。数据框第一列中的值成为新数据框的索引。从某种意义上说,我想把一个邻接表变成一个邻接矩阵。到目前为止,这是代码:importpandasaspaprint"OriginalDataFrame"#Createadataframeoldcols={'col1':['a','a','b','b'],'col2':['c','d','c','d'],'col3':[1,2,3,4]}a=pa.DataFrame(oldcols)printa#Thecolumnsofthenewdataframewillbetheval

python - Pandas :随机删除行而不洗牌数据集

我有一个数据集,需要在保留行顺序的同时省略几行。我的想法是使用一个掩码,其随机数介于0和我的数据集的长度之间,但我不确定如何在不随机排列行的情况下设置掩码,即类似于对数据集进行采样的方法.示例:数据集有5行和2列,我想随机删除一行。Col1|Col2A|1B|2C|5D|4E|0转换为:Col1|Col2A|1B|2D|4E|0随机选择省略了第三行(Col1='C')。我该怎么办? 最佳答案 以下应该适合您。在这里,我从df的索引中采样remove_n随机row_ids。之后,df.drop从数据框中删除这些行并返回旧数据框的新子集

python - 在 Pandas 中,read_excel() 中使用的 read_csv() 中的 'nrows' 是什么?

只想将特定范围的数据从excel电子表格(.xlsm格式,因为它有宏)导入pandas数据框。是这样做的:data=pd.read_excel(filepath,header=0,skiprows=4,nrows=20,parse_cols="A:D")但nrows似乎只适用于read_csv()?read_excel()的等效项是什么? 最佳答案 作为notedinthedocumentation,从pandas版本0.23开始,这现在是一个内置选项,并且功能几乎与OP所述完全相同。代码data=pd.read_excel(fil

python - Pandas 重命名索引值

我在Pandas(python)中有以下数据框:B.X.Y.Aalpha3.5.5beta9.9.11我想将“alpha”更改为另一个名称,例如“mu”。我该怎么办? 最佳答案 使用rename带有参数index将字典传递给index参数df.rename(index={'alpha':'mu'}) 关于python-Pandas重命名索引值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

python - Pandas:水平组合两个 DataFrame

这个问题在这里已经有了答案:Concatenaterowsoftwodataframesinpandas(2个答案)关闭5年前。我有两个PandasDataFrame,每个都有不同的列。我想基本上将它们水平粘合在一起(它们每个都有相同的行数,所以这应该不是问题)。一定有一种简单的方法可以做到这一点,但我已经阅读了文档,concat不是我要找的(我不认为)。有什么想法吗?谢谢!

python - 将 AWS Glue Python 与 NumPy 和 Pandas Python 程序包结合使用

在AWS上名为Glue的新ETL工具中使用NumPy和Pandas等包的最简单方法是什么?我在Python中有一个完整的脚本,我想在利用NumPy和Pandas的AWSGlue中运行。 最佳答案 您可以检查使用此脚本作为粘合作业安装的最新python包importloggingimportpiplogger=logging.getLogger(__name__)logger.setLevel(logging.INFO)if__name__=='__main__':logger.info(pip._internal.main(['li

python - pandas 中 df.reindex() 和 df.set_index() 方法的区别

我对此感到困惑,这很简单,但我没有立即在StackOverflow上找到答案:df.set_index('xcol')使列'xcol'成为索引(当它是df的列时)。但是,df.reindex(myList)从数据帧外部获取索引,例如,从我们在别处定义的名为myList的列表中获取索引。但是,df.reindex(myList)也会将值更改为NA。一个简单的替代方法是:df.index=myList我希望这篇文章能澄清它!也欢迎对这篇文章进行补充! 最佳答案 您可以在一个简单的示例中看到差异。让我们考虑这个数据框:df=pd.Data

【pandas小技巧】--数据转置

所谓数据转置,就是是将原始数据表格沿着对角线翻折,使原来的行变成新的列,原来的列变成新的行,从而更方便地进行数据分析和处理。pandas中DataFrame的转置非常简单,每个DataFrame对象都有一个T属性,通过这个属性就能得到转置之后的DataFrame。下面介绍几个数据转置常用的场景,感受下转置前后数据展示的区别。1.数据结构调整有时候原始数据在行列方向上不太适合某些数据分析和处理需求,需要将其调整为合适的数据结构。某些机器学习算法要求输入特征矩阵的行表示样本,列表示特征值,这时候就需要将原始数据表格进行转置。比如,随机生成10个样本数据,每个样本有200个特征值:importpan

python - 使用 pandas TimeSeries 创建热图

我需要使用PandasDataFrameTimeSeries列(df_all.ts)作为我的X轴来创建MatplotLib热图(pcolormesh)。如何将PandasTimeSeries列转换为可在np.meshgrid(x,y)函数中用作X轴的内容以创建热图?解决方法是使用与pandas列中相同的参数创建Matplotlibdrange,但有没有简单的方法?x=pd.date_range(df_all.ts.min(),df_all.ts.max(),freq='H')xt=mdates.drange(df_all.ts.min(),df_all.ts.max(),dt.time