为什么pandas.DataFrame的操作这么慢?!看下面的例子。
计量:
创建一个由随机浮点数填充的numpy.ndarray 创建一个用相同的填充的pandas.DataFrame
I度量下列操作的时间
numpy.ndarray的
- Take the sum along the 0-axis
- Take the sum along the 1-axis
pandas.DataFrame的
- Take the sum along the 0-axis
- Take the sum along the 1-axis
pandas.DataFrame.values ->
我希望分析异构数据的形式:pandas.DataFrame中包含的观察/变量如下:
Age Name Ok Result
0 25 Bob True 1.2
1 41 John False 0.5
2 30 Alice True 0.3
为此,我通常使用Numpy将其转换为它的pandas.DataFrame.values表示,从而获得:
[[25 'Bob' True 1.2]
[41 'John' False 0.5]
[30 'Alice' True
我试图在Ubuntu12.04上的python中使用TA作为。但是,当使用熊猫DataFrame或Series时,如在不同来源上的多个示例所示,我得到了以下TypeError
追溯(最近一次调用):文件"test1.py",第14行,在分析‘’rsi‘= ta.RSI(spy.Close) TypeError:参数’numpy.ndarray‘有错误的类型(预期的numpy.ndarray,got系列)
例如,在执行此代码时:
import pandas.io.data as data
import pandas as pd
import talib as ta
imp
我有一个csv文件,如下所示: A, B
34, "1.0, 2.0"
24, "3.0, 4.0" 我正在使用pandas读取文件: import pandas as pd
df = pd.read_csv('file.csv') 我需要做的是用numpy数组替换字符串: for index, row in df.iterrows():
df['B'][index] = np.fromstring(df['B'][index], sep=',') 但是,它会引发错误A value
当我从float32 ndarray列表构建一个pandas DataFrame时,我得到了一个带有float64项的pandas DataFrame。
如何在DataFrame中获取float32项目?
import numpy as np
import pandas as pd
# Create 2 dummy arrays instead of reading a bunch of float32 records in binary file
record1 = np.array([202.1, 0.0], dtype='
在Python-pandas.DataFrame.groupby(by=ndarray/list,axis=1,level=1)中,这种调用形式会引发一个错误。对于by=np.array(),出现了一个错误,即TypeError: 'numpy.ndarray' object is not callable。而对于by=list,则出现了一个Keyerror。
请看下面的示例代码-
import numpy as np
import pandas as pd
columns = pd.MultiIndex.from_arrays([['US', 'US&
我想通过索引访问数据的值(xi和yi应该是行索引),但是我得到了错误IndexError: indices are out-of-bounds。
for xi, yi in kd:
X, y = data[xi], y_labs[yi]
数据为pandas.core.frame.DataFrame
kd是numpy.ndarray
y_labs是numpy.ndarray
我有一个pandas.DataFrame,它有numpy.ndarray的条目(大小不同)。如何将其序列化为json?
目前,熊猫似乎不支持连体繁殖:
pandas.DataFrame([{'a': numpy.array(1)}, {'a': numpy.array((1,2))}]).to_json()
TypeError: array(1) (0d array) is not JSON serializable at the moment
密切相关的问题,其答案无法解决我的问题:
:我不能在那里使用漂亮的技巧,因为我的数据帧由不同大小的数组组成。
:如果有
我有一个python模块,它直接将数据加载到numpy.ndarray的一个片段中,以便在pandas.Dataframe中使用。然而,我注意到了'NA‘价值观的一个问题。我的文件格式表示NA值a s -9223372036854775808 (boost::integer_traits::const_min)。我的非NA值正按预期(带有正确值)加载到pandas.Dataframe中。我相信正在发生的事情是,我的模块加载到一个numpy.datetime64 ndarray中,然后将其转换为一个pandas.tslib.Timestamp列表。此转换似乎不保留“const_min”整
我想创建一些随机数据,并尝试使用PolynominalFeatures改进我的模型,但我在这样做时遇到了一些小麻烦。 from sklearn.preprocessing import PolynomialFeatures
from sklearn.model_selection import train_test_split
import random
import pandas as pd
import numpy as np
import statsmodels.api as sm
#create some artificial data
x=np.linspace(-1,1,100
我使用pandas.DataFrame.plot.kde方法来返回一个kde,但是我实际上并不需要图,只需要值的numpy.ndarray。我已经尽我所能地阅读了文档,它说:
Returns
-------
matplotlib.axes.Axes or numpy.ndarray of them
但是,我找不到如何实际返回该数组,因为它默认返回<AxesSubplot:ylabel='Density'>。任何帮助都是好的
我对的结果感到困惑
from sklearn.preprocessing import OrdinalEncoder
from dask_ml.preprocessing import OrdinalEncoder as DaskOrdinalEncoder
import numpy as np
import pandas as pd
N = 10
np.random.seed(1234)
df = pd.DataFrame({
"cat1": np.random.choice(list(string.ascii_uppercase)[0:3], size=N),
此代码创建包含numpy ndarrays的50k行( 1.5GB文件所需时间超过8分钟):
import numpy as np, pandas as pd
x = pd.DataFrame(columns=['a', 'b'])
for i in range(100000):
print(i)
x.loc['t%i' % i] = [np.random.rand(2000), np.random.rand(2000)] # not efficient at all