在pandas中有一个简单的方法来调用groupby一系列的值增量吗?例如,给定下面的示例,我可以B使用0.155增量对列进行bin和group ,以便例如列B中的前几个组被分成两个范围之间的范围.groupby
import numpy as np
import pandas as pd
df=pd.DataFrame({'A':np.random.random(20),'B':np.random.random(20)})
A B
0 0.383493 0.250785
1 0.572949 0.139555
2 0.652391 0.401983
3 0.214145 0.696935
4 0.848551 0.516692
Run Code Online (Sandbox Code Playgroud)
或者,我可以先按这些增量将数据分类到新列中,然后用于A确定可能适用于列的任何相关统计数据groupby?
我对python很新,但我一直在努力学习基础知识,以帮助我在地质学方面的研究.
无论如何,我有几个文件,一旦我从他们的zip文件中提取(痛苦的慢进程顺便说一句)产生几百个子目录,每个子目录有2-3个文件.现在我要做的是提取所有那些以'dem.tif'结尾的文件,并将它们放在一个单独的文件中(移动而不是复制).
我可能试图跳到这里的深层,但我编写的代码运行没有错误,所以它一定不能找到文件(确实存在!)因为它给了我else语句.这是我创建的代码
import os
src = 'O:\DATA\ASTER GDEM\Original\North America\UTM Zone 14\USA\Extracted' # input
dst = 'O:\DATA\ASTER GDEM\Original\North America\UTM Zone 14\USA\Analyses' # desired location
def move():
for (dirpath, dirs, files) in os.walk(src):
if files.endswith('dem.tif'):
shutil.move(os.path.join(src,files),dst)
print ('Moving ', + files, + ' to ', + dst)
else:
print 'No Such File Exists'
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感谢,我提前感谢您的时间.
此致
比约恩
什么是确定python中条形图的偏斜/峰度的有效方法?考虑到条形图没有分箱(与直方图不同),这个问题没有多大意义,但我想要做的是确定图形高度与距离的对称性(而不是频率与分档).换句话说,给定沿距离(x)测量的高度(y)值,即
y = [6.18, 10.23, 33.15, 55.25, 84.19, 91.09, 106.6, 105.63, 114.26, 134.24, 137.44, 144.61, 143.14, 150.73, 156.44, 155.71, 145.88, 120.77, 99.81, 85.81, 55.81, 49.81, 37.81, 25.81, 5.81]
x = [0.03, 0.08, 0.14, 0.2, 0.25, 0.31, 0.36, 0.42, 0.48, 0.53, 0.59, 0.64, 0.7, 0.76, 0.81, 0.87, 0.92, 0.98, 1.04, 1.09, 1.15, 1.2, 1.26, 1.32, 1.37]
Run Code Online (Sandbox Code Playgroud)
在距离(x)上测量的高度(y)分布(偏度)和峰值(峰度)的对称性是多少?偏度/峰度是否适合用于确定实际值的正态分布?或者scipy/numpy是否为这种类型的测量提供类似的东西?
我可以通过以下方式实现沿距离(x)分箱的高度(y)频率值的偏斜/峰度估计
freq=list(chain(*[[x_v]*int(round(y_v)) for x_v,y_v in zip(x,y)]))
x.extend([x[-1:][0]+x[0]]) #add one extra bin edge
hist(freq,bins=x)
ylabel("Height Frequency")
xlabel("Distance(km) Bins")
print "Skewness,","Kurtosis:",stats.describe(freq)[4:]
Skewness, Kurtosis: (-0.019354300509997705, -0.7447085398785758)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,高度分布在中点距离附近是对称的(偏斜0.02)并且以扁平(-0.74峰度,即宽)分布为特征. …
如何计算python中对数正态累积分布函数的倒数?我正在尝试从使用该功能的Excel翻译某些功能[LOGINV][1]
例如
LOGINV(0,005;2;0,5) yields 2,0382373
Run Code Online (Sandbox Code Playgroud)
0,005概率在哪里,2是ln均值,0,5是ln std.
是否scipy.stats有类似我可能适用的功能?
我试图从ftp服务器下载文件,但我遇到错误权限被拒绝错误.
Traceback (most recent call last):
File "/Users/x34/Documents/Python/ftp_download.py", line 27, in <module>
download()
File "/Users/x34/Documents/Python/ftp_download.py", line 21, in download
with open(filename,'wb') as f:
IOError: [Errno 13] Permission denied: '/p012r018_5dt19900722_z20_30.tif.gz'
Run Code Online (Sandbox Code Playgroud)
手动下载或使用filezilla下载工作正常但我的脚本下面没有
from ftplib import ftp
ftp = FTP(r'ftp.glcf.umd.edu')
ftp.login()
directory = 'glcf/Landsat/WRS2/p012/r018/p012r018_5dx19900722.TM-GLS1990'
filename = '/p012r018_5dt19900722_z20_30.tif.gz'
ftp.cwd(directory)
with open(filename,'wb') as f:
ftp.retrbinary('RETR' + filename,f.write)
ftp.close()
Run Code Online (Sandbox Code Playgroud)
另一个注意......也许我误读了文档 - http://docs.python.org/library/ftplib.html但是我不完全理解ftplib决定下载文件的位置(默认下载目录?).还有另一个模块更适合这个应用吗?
UPDATE
我应该澄清一下,服务器上的文件名不包含前面的'/'.我只是添加了因为它似乎有助于找到正确的文件位置和名称,因为之前的尝试在以下错误ftplib.error_perm:500 Unknown命令中结束.
该文件的完整路径是
ftp.glcf.umd.edu/glcf/Landsat/WRS2/p012/r018/p012r018_5dx19900722.TM-GLS1990/p012r018_5dt19900722_z20_30.tif.gz'
Run Code Online (Sandbox Code Playgroud)