我在X中每个值有7个不同的类别.我使用条形图来绘制这些类别.这样的图形在彩色打印机中看起来很好,但如果我希望它在黑白中很好的话.您可以查看下面的图表.我想要有不同的颜色纹理,所以图形看起来很好的颜色和黑白打印机.

我在barplot函数中使用密度= c(10,30,40,50,100,60,80)作为密度参数.在barplot中还有其他方法可以做不同的纹理吗?
注意:我在barplot中尝试了角度值.然而,在这种情况下,它不是一个好的解决方案,因为并非所有的条都具有高值(即条的高度).
我已经开始使用python进行分析.我想做以下事情:
我使用scipy.stats中的gaussian_kde来估算核密度函数.guassian_kde是否对数据做出任何假设?我正在使用随时间变化的数据.因此,如果数据具有一个分布(例如高斯分布),则稍后可能会有另一个分布.gaussian_kde在这种情况下有任何缺点吗?有人建议在问题要尽量合身,以获得数据分布在每个分布的数据.那么,什么是使用gaussian_kde并提供了答案之间的差异问题.我使用下面的代码,我还想知道如果数据会随着时间的推移而改变,那么gaussian_kde是估算pdf的好方法吗?我知道gaussian_kde的一个优点是它可以通过经验法则自动计算带宽,如此处所示.另外,我怎样才能达到顶峰?
import pandas as pd
import numpy as np
import pylab as pl
import scipy.stats
df = pd.read_csv('D:\dataset.csv')
pdf = scipy.stats.kde.gaussian_kde(df)
x = np.linspace((df.min()-1),(df.max()+1), len(df))
y = pdf(x)
pl.plot(x, y, color = 'r')
pl.hist(data_column, normed= True)
pl.show(block=True)
Run Code Online (Sandbox Code Playgroud) 我下载了天气数据,它有经度(十进制)、纬度(十进制)和海拔(米)值。没有有关所使用的坐标系的信息。我如何将其转换为笛卡尔坐标?我的尝试如下。但是,我的问题是找到正确的公式
def cartesian(self,longitude,latitude, elevation):
R = 6378137.0 + elevation # relative to centre of the earth
X = R * math.cos(longitude) * math.sin(latitude)
Y = R * math.sin(longitude) * math.sin(latitude)
Z = R * math.cos(latitude)
def cartesian3(self,longitude,latitude, elevation):
X = longitude * 60 * 1852 * math.cos(latitude)
Y = latitude * 60 * 1852
Z = elevation
return X,Y,Z
Run Code Online (Sandbox Code Playgroud)
Daphna Shezaf的回答使用了不同的公式。但是,它不使用高程。如果有人能消除我的困惑,我将不胜感激,是否应该使用海拔来从长/纬度转换?正确的公式是什么?我尝试使用特定的经度、纬度、海拔来比较我在该网站上的代码的结果。我上面的两种方法的结果与从网站获得的结果相差甚远
我想分享我的问题的解决方案。我已经在Python中实现了Matlab中的lla2ecef函数。它允许将弧度经度、纬度和海拔(高度以米为单位)转换为笛卡尔坐标。我只需要将纬度和经度转换为弧度,前提是它们是十进制的:
latitude = (lat * math.pi) / 180 #latitude in radian, and lat …Run Code Online (Sandbox Code Playgroud) 如果我有一些缺失值,并且我想用之前和之后值的平均值替换所有 NaN,我该怎么做?
我知道我可以使用pandas.DataFrame.fillnawithmethod='ffill'或method='bfill'选项来用前面或后面的值替换 NaN 值,但是我想在数据帧上应用这些值的平均值,而不是迭代行和列。
我在 R 中有分类树,我尝试通过以下方式进行交叉验证:
cv.tree1<-cv.tree(tree1)
Run Code Online (Sandbox Code Playgroud)
然后我试过了
tree3 = prune.tree(tree1, best=15)
Run Code Online (Sandbox Code Playgroud)
然后我试图从当前树中预测我的所有标签:
predict(tree3, data.train[1,])
Run Code Online (Sandbox Code Playgroud)
输出是:
0 1 2 3 4 5 6 7 8
1 0.0006247397 0.8531862 0.03706789 0.02207414 0.003123698 0.008746356 0.009371095 0.00728863 0.05310287
9
1 0.005414411
Run Code Online (Sandbox Code Playgroud)
据我了解,它给了我每个标签的概率,因为我在这里有 10 个标签 0:9 所以我试图获得最后一条语句的最大值来预测所有标签
predict.list <-matrix(0,nrow=nrow(data.train),ncol=10)
for (index in c(1:nrow(digits.train)))
{
predict.list[index]<-predict(tree3, data.train[index,])
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试获取 predict.list 中每一行的最大值,但实际上这不起作用所以我尝试查看 str(predict(tree3, data.train[index,])) 的结构我发现它是
num [1, 1:10] 0.00656 0.00583 0.00947 0.07479 0.14813 ...
- attr(*, "dimnames")=List of 2
..$ : chr "8184"
..$ : chr [1:10] "0" "1" …Run Code Online (Sandbox Code Playgroud) 我有一个二维数组的数据,我用来gaussian_kde估计数据分布。现在,我想获得所得密度估计器的一阶导数以获得零交叉。是否可以从估计密度中得到它?如果是这样,Python 中是否有任何内置函数可以提供帮助?
我将两个数据帧合并在一起,这些数据帧具有一些公共列,但是有一些不同的列。我想对合并的数据帧应用奇异值分解(SVD)。但是,填充NaN值会影响结果,在我的情况下,即使用零填充数据也将是错误的,因为有些列的值为零。这是一个例子。有什么办法解决这个问题?
>>> df1 = pd.DataFrame(np.random.rand(6, 4), columns=['A', 'B', 'C', 'D'])
>>> df1
A B C D
0 0.763144 0.752176 0.601228 0.290276
1 0.632144 0.202513 0.111766 0.317838
2 0.494587 0.318276 0.951354 0.051253
3 0.184826 0.429469 0.280297 0.014895
4 0.236955 0.560095 0.357246 0.302688
5 0.729145 0.293810 0.525223 0.744513
>>> df2 = pd.DataFrame(np.random.rand(6, 4), columns=['A', 'B', 'C', 'E'])
>>> df2
A B C E
0 0.969758 0.650887 0.821926 0.884600
1 0.657851 0.158992 0.731678 0.841507
2 0.923716 0.524547 0.783581 0.268123
3 0.935014 0.219135 0.152794 …Run Code Online (Sandbox Code Playgroud)