我不知道是否有导入CSV文件的内容为记录阵列直接的方式,很多的方式是R的read.table(),read.delim()和read.csv()家庭的进口数据与R的数据帧?
或者是使用csv.reader()然后应用类似的东西的最佳方法numpy.core.records.fromrecords()?
我在Python Pandas系列中有一些值(类型:pandas.core.series.Series)
In [1]: series = pd.Series([0.0,950.0,-70.0,812.0,0.0,-90.0,0.0,0.0,-90.0,0.0,-64.0,208.0,0.0,-90.0,0.0,-80.0,0.0,0.0,-80.0,-48.0,840.0,-100.0,190.0,130.0,-100.0,-100.0,0.0,-50.0,0.0,-100.0,-100.0,0.0,-90.0,0.0,-90.0,-90.0,63.0,-90.0,0.0,0.0,-90.0,-80.0,0.0,])
In [2]: series.min()
Out[2]: -100.0
In [3]: series.max()
Out[3]: 950.0
Run Code Online (Sandbox Code Playgroud)
我想获得直方图的值(不需要绘制直方图)...我只需要获得每个间隔的频率.
假设我的间隔是从[-200; -150]至[950; 1000]
所以下限是
lwb = range(-200,1000,50)
Run Code Online (Sandbox Code Playgroud)
和上限是
upb = range(-150,1050,50)
Run Code Online (Sandbox Code Playgroud)
我现在不知道如何获得频率(每个区间内的值的数量)......我确信定义lwb和upb是不必要的...但我不知道我应该使用什么函数执行此操作!(在Pandas doc中潜水后,我认为pandas.core.series.Series功能可以帮助我,因为它是一个离散化问题......但我不明白如何使用它)
能够做到这一点后,我将看看显示直方图的方式(但这是另一个问题)
给出pandas中的以下数据帧:
import numpy as np
df = pandas.DataFrame({"a": np.random.random(100), "b": np.random.random(100), "id": np.arange(100)})
Run Code Online (Sandbox Code Playgroud)
其中id是由以下组成的每个点的ID a和b值,哪能仓a和b成一组指定的仓(这样我可以再取中值/平均值a和b每个仓中)? 对于任何给定的行,df可能具有或(或两者)的NaN值.谢谢.abdf
这是一个更好的例子,使用Joe Kington的解决方案和更逼真的df.我不确定的是如何访问下面每个df.a组的df.b元素:
a = np.random.random(20)
df = pandas.DataFrame({"a": a, "b": a + 10})
# bins for df.a
bins = np.linspace(0, 1, 10)
# bin df according to a
groups = df.groupby(np.digitize(df.a,bins))
# Get the mean of a in each group
print groups.mean()
## But …Run Code Online (Sandbox Code Playgroud) 我是学习Python及其一些库(numpy,pandas)的新手.
我发现了很多关于 numpy ndarrays,pandas series和python dictionaries如何工作的文档.
但是由于我对Python的经验不足,我很难确定何时使用它们.我还没有找到任何最佳实践来帮助我理解并决定何时使用每种类型的数据结构更好.
一般来说,是否有任何最佳实践来决定应将这三个数据结构中的哪一个(如果有的话)加载到特定数据集中?
谢谢!