假设我想默认Boolean序列化为.Number
我知道我可以逐个领域地做到
@JsonFormat(shape = Shape.NUMBER)
private Boolean success;
Run Code Online (Sandbox Code Playgroud)
但是我可以“注册”我的自定义序列化器,以便当我从 API 返回对象时,Boolean类中的 s 将被序列化到Numberjson 响应中。
我有以下序列化器
public class MyBooleanSerializer extends JsonSerializer<Boolean> {
@Override
public void serialize(
Boolean value,
JsonGenerator gen,
SerializerProvider serializers) throws IOException {
gen.writeString(value ? "1" : "0");
}
}
Run Code Online (Sandbox Code Playgroud)
我有以下课程
@Data
public class MyResponse {
private Boolean success;
private String message;
}
Run Code Online (Sandbox Code Playgroud)
它将像这样使用
@GetMapping("/hello")
public MyResponse hello() {
Boolean success = true;
String message = "Hi there";
return new MyResponse(success, …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过分组绘制一些数据的散点图。它们按列分组,我希望它们根据组group具有不同的标记样式。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
colors = ['r','g','b','y']
markers = ['o', '^', 's', 'P']
df = pd.DataFrame()
df["index"] = list(range(100))
df["data"] = np.random.randint(100, size=100)
df["group"] = np.random.randint(4, size=100)
df["color"] = df.apply(lambda x: colors[x["group"]], axis=1)
df["marker"] = df.apply(lambda x: markers[x["group"]], axis=1)
plt.scatter(x=df["index"], y=df["data"], c=df["color"])
# What I thought would have worked
# plt.scatter(x=df["index"], y=df["data"], c=df["color"], marker=df["marker"])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我希望这些组也有不同的标记样式。例如,红色条目将具有标记“o”(大点),绿色条目将具有标记“^”(向上三角形)等。
我想
plt.scatter(x=df["index"], y=df["data"], c=df["color"], marker=df["marker"])
Run Code Online (Sandbox Code Playgroud)
本来可以,但是不行……
TypeError: 'Series' objects …Run Code Online (Sandbox Code Playgroud)