尝试使用'pandas.core.series.Series'对象中的'pandas.DataFrame.plot'创建的绘图图像时:
%matplotlib inline
type(class_counts) # pandas.core.series.Series
class_counts.plot(kind='bar', figsize=(20, 16), fontsize=26)
Run Code Online (Sandbox Code Playgroud)
像这样:
import matplotlib.pyplot as plt
plt.savefig('figure_1.pdf', dpi=300)
Run Code Online (Sandbox Code Playgroud)
导致空的pdf文件.如何保存用'pandas.DataFrame.plot'创建的图像?
Jrunscript有一个'print'功能.然而,它没有打印任何有用的对象.例如:
js> var obj = {one:1, two:2}
Run Code Online (Sandbox Code Playgroud)
在评估对象Jrunscript输出时,只需:
js> obj
[object Object]
Run Code Online (Sandbox Code Playgroud)
而且'print'也不好:
js> print(obj)
[object Object]js>
Run Code Online (Sandbox Code Playgroud)
Jrunscript可以使用哪些函数来打印对象结构?
在Hadoop 2.2的单节点安装中,我试图运行Cloudera示例"使用MapReduce访问表数据",将数据从一个表复制到另一个表:
示例代码编译了许多弃用警告(见下文).在从Eclipse运行此示例之前,我在Hive默认DB中创建输入表'simple'.我在命令行上传递输入'simple'并输出'simpid'表.尽管默认DB中已经存在输入表,但是当我运行此代码时,我得到异常:
java.io.IOException: NoSuchObjectException(message:default.simple table not found
Run Code Online (Sandbox Code Playgroud)
问题:
1)为什么"找不到表"异常?怎么解决这个?
2)在这个例子中,弃用的HCatRecord,HCatSchema,HCatBaseInputFormat如何转换为最新的稳定API?
package com.bigdata;
import java.io.IOException;
import java.util.*;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapreduce.*;
import org.apache.hadoop.util.*;
import org.apache.hcatalog.mapreduce.*;
import org.apache.hcatalog.data.*;
import org.apache.hcatalog.data.schema.*;
public class UseHCat extends Configured implements Tool {
public static class Map extends Mapper<WritableComparable, HCatRecord, Text, IntWritable> {
String groupname;
@Override
protected void map( WritableComparable key,
HCatRecord value,
org.apache.hadoop.mapreduce.Mapper<WritableComparable, HCatRecord,
Text, IntWritable>.Context context)
throws IOException, InterruptedException {
// The group table from /etc/group has name, 'x', id
groupname …Run Code Online (Sandbox Code Playgroud) 我需要将 one-hot 编码转换为由唯一整数表示的类别。因此,使用以下代码创建了 one-hot 编码:
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder()
labels = [[1],[2],[3]]
enc.fit(labels)
for x in [1,2,3]:
print(enc.transform([[x]]).toarray())
Out:
[[ 1. 0. 0.]]
[[ 0. 1. 0.]]
[[ 0. 0. 1.]]
Run Code Online (Sandbox Code Playgroud)
可以转换回一组唯一的整数,例如:
[1,2,3] 或 [11,37, 45] 或任何其他其中每个整数唯一代表一个类的值。
是否可以使用 scikit-learn 或任何其他 python 库?
* 更新 *
试着:
labels = [[1],[2],[3], [4], [5],[6],[7]]
enc.fit(labels)
lst = []
for x in [1,2,3,4,5,6,7]:
lst.append(enc.transform([[x]]).toarray())
lst
Out:
[array([[ 1., 0., 0., 0., 0., 0., 0.]]),
array([[ 0., 1., 0., 0., 0., 0., …Run Code Online (Sandbox Code Playgroud) 请帮助确定Bing搜索请求的参数,以JSON格式返回结果.文档"迁移Bing Search API应用程序"告诉我们:"要使用Windows Azure Marketplace验证Bing Search API请求,您必须获取帐户密钥.此身份验证模式将替换Bing Search API 2.0中使用的AppID."
另一方面,同一文档提供了以下仍然使用Appid的示例:http://api.search.live.net/xml.aspx ? Appid = App&query = datata&sources = web&count = 2
以下请求:curl"https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?Query=%27xbox%27&$top=50&$format=json$accountKey=TPP .. ..VRTWiq4 = $的appid =概念创始者"
导致以下错误:不支持您提供的授权类型.仅支持Basic和OAuth
请举例说明可以在CURL命令行中使用的搜索Bing URL,以获取JSON格式的搜索结果.
需要替换字符串中的电子邮件,因此:
inp = 'abc user@xxx.com 123 any@www foo @ bar 78@ppp @5555 aa@111"
Run Code Online (Sandbox Code Playgroud)
应该导致:
out = 'abc 123 foo bar"
Run Code Online (Sandbox Code Playgroud)
什么正则表达式使用?
In [148]: e = '[^\@]\@[^\@]'
In [149]: pattern = re.compile(e)
In [150]: pattern.sub('', s)
Out[150]: 'one aom 123 4two'
In [151]: s
Out[151]: 'one ab@com 123 4 @ two'
Run Code Online (Sandbox Code Playgroud)
对我不起作用
如何扁平化:
b = np.array([
[[1,2,3], [4,5,6], [7,8,9]],
[[1,1,1],[2,2,2],[3,3,3]]
])
Run Code Online (Sandbox Code Playgroud)
变成:
c = np.array([
[1,2,3,4,5,6,7,8,9],
[1,1,1,2,2,2,3,3,3]
])
Run Code Online (Sandbox Code Playgroud)
这些工作无足轻重:
c = np.apply_along_axis(np.ndarray.flatten, 0, b)
c = np.apply_along_axis(np.ndarray.flatten, 0, b)
Run Code Online (Sandbox Code Playgroud)
只是返回相同的数组。
最好将其放平。
在什么情况下 Seaborn 会将直方图列设为白色?我在 Jupyter 笔记本中使用 Seaborn:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
Run Code Online (Sandbox Code Playgroud)
然后我使用这个函数绘制直方图:
def plot_hist(data, xlabel, bins=None):
if not bins:
bins = int(np.sqrt(len(data)))
_= plt.xlabel(xlabel)
_= plt.hist(data, bins=bins)
Run Code Online (Sandbox Code Playgroud)
因此,在某些情况下,我的直方图包含所有蓝色列或一些蓝色和一些白色或仅白色列。请看附图。
如何让 Seaborn 总是画蓝色的柱子?
python ×5
arrays ×1
bing ×1
hadoop ×1
hcatalog ×1
hive ×1
javascript ×1
json ×1
mapreduce ×1
matplotlib ×1
numpy ×1
object ×1
pandas ×1
plot ×1
python-3.x ×1
regex ×1
scikit-learn ×1
seaborn ×1