草庐IT

panda_link

全部标签

应用于行的所有成对组合的 Python pandas 函数

我正在尝试对pandas数据框中所有成对的行组合运行一个函数(相关):stats=dict()forlinitertools.combinations(dat.index.tolist(),2):stats[l]=pearsonr(dat.loc[l[0],:],dat.loc[l[1],:])#stores(r,p)当然这很慢,我想知道如何通过使用类似apply()或其他方式来做同样的事情。注意:我知道我可以直接找到数据帧与pandascorr()的相关性函数,但是它不返回关联的p值(我需要它用于过滤目的) 最佳答案 这应该可以加

python - 用于搜索的 Pandas 列索引?

在关系型数据库中,我们可以在列上创建索引,以加快对这些列的查询和连接。我想在Pandas数据框上做同样的事情。行索引似乎不是关系数据库提供的。问题是:默认情况下,pandas中的列是否已索引以供搜索?如果不能,是否可以手动索引列以及如何做?编辑:我已阅读pandas文档并到处搜索,但没有人提到pandas的索引和搜索/合并性能。似乎没有人关心这个问题,尽管它在关系数据库中很关键。任何人都可以就Pandas的索引和性能发表声明吗?谢谢。 最佳答案 如@pvg所述-pandas模型不是内存关系数据库的模型。所以,如果我们试图用sql和它

python - Pandas 中奇怪的数据操作

我正在阅读WesMckinney的PythonforDataAnalysis,但我对这种数据操作感到惊讶。可以看到所有程序here但我会尽量在这里总结一下。假设你有这样的东西:In[133]:agg_counts=by_tz_os.size().unstack().fillna(0)Out[133]:aNotWindowsWindowstz245276Africa/Cairo03Africa/Casablanca01Africa/Ceuta02Africa/Johannesburg01Africa/Lusaka01America/Anchorage41...tz表示时区,NotWind

python - 使用 pandas.io.sql.read_frame,我可以像 read_csv 一样解析日期吗?

我正在使用pandas.io.sql.read_frame直接从数据库读取data_frame:cnx=pandas.io.sql.connect(host='srv',user='me',password='pw',database='db')df=pandas.io.sql.read_frame('sql_query',cnx)它可以很好地检索数据。但我想将其中一列解析为datetime64,类似于从CSV文件读取时可以执行的操作,例如:df2=pandas.io.read_csv(csv_file,parse_dates=[0])但是read_frame没有parse_dates

python - PyCharm (1.5.4) 和 Pandas 0.6.0 - ImportError : No module named data

我在MacOS10.6.4上使用PyCharm(1.5.4)作为我的pythonIDE。我正在修改一些代码来操纵股价数据。作为其中的一部分,我想使用Pandas0.6.0附带的DataReader函数从雅虎导入价格数据。代码如下:http://www.statalgo.com/2011/09/08/pandas-getting-financial-data-from-yahoo-fred-etc/frompandasimportols,DataFramefrompandas.stats.momentsimportrolling_stdfrompandas.io.dataimportDa

python - 将 python pandas DataFrame 转换为 R dataframe 以与 rpy2 一起使用的问题

我无法将Python中的pandasDataFrame转换为R对象,以便将来使用rpy2在R中使用。新的pandas版本0.8.0(几周前发布)具有将pandasDataFrames转换为RDataFrames的功能。问题在于转换我的pandasDataFrame的第一列,它由pythondatetime对象组成(在时间序列中连续)。转换为R数据帧会返回日期和时间的StrVector,而不是我认为称为“POSIXct”对象的R日期时间类型对象的向量。我知道使用命令“as.POSIXct('yyyy-mm-ddhh:mm:ss')”将返回类型的字符串转换为POSIXct的命令。不幸的是,

python - pandas 在 Python 中合并时删除索引索引?

我正在使用merge(...,how='left')合并两个数据帧,因为我只想保留与“左”数据帧匹配的条目。问题是合并操作似乎删除了我最左边数据框的索引,如下所示:importpandasdf1=pandas.DataFrame([{"id":1,"name":"bob"},{"id":10,"name":"sally"}])df1=df1.set_index("id")df2=pandas.DataFrame([{"name":"bob","age":10},{"name":"sally","age":11}])print"df1premerge:"printdf1df1=df1.m

python - 使用pandas.read_csv从csv文件加载数据时如何指定dtype?

我有一些格式如下的文本文件:000423|东阿阿胶|300|1|0.15000||000425|徐工机械|600|1|0.15000||000503|海虹控股|400|1|0.15000||000522|白云山A||2||1982.080|000527|美的电器|900|1|0.15000||000528|柳工|300|1|0.15000||当我使用read_csv将它们加载到DataFrame时,它​​不会为某些列生成正确的数据类型。例如,第一列被解析为int,而不是unicodestr,第三列被解析为unicodestr,而不是int,因为缺少一个数据......有没有办法预设Da

python - Pandas :创建新的数据框,平均来自另一个数据框的重复项

假设我有一个包含重复列的数据框my_df,例如foobarfoohello011511252135我想创建另一个平均重复数据的数据框:foobarhello0.5151.5152.515我如何在Pandas中执行此操作?到目前为止,我已经设法识别出重复项:my_columns=my_df.columnsmy_duplicates=print[xforx,yincollections.Counter(my_columns).items()ify>1]我不知道如何让Pandas对它们进行平均。 最佳答案 您可以groupby列索引并取m

python - Pandas:为什么附加到 float 和整数的数据帧比充满 NaN 的数据帧要慢

我正在从一个文件中获取数据,该文件通过SierraChart从InteractiveBrokers5秒OHLCVT柱接收数据。按照早期帖子中的建议,我没有将每个新行附加到数据框,而是使用历史文件构建了一个数据框,并向其附加了5000个具有正确时间戳的“空白”记录。然后我将每个新行写在空白行上,如果时间戳丢失并更新指针则填充任何行。这很好用。这是当前的classesandfunctions.我的初始版本创建了5000行NaN(OHLCVxyz)。我认为从结束数据类型开始会更整洁,因此将“空白”记录转换为零,其中OHLC是float,Vxyz是整数,使用:dg.iloc[0:5000]=0