我正在尝试打印带有背景渐变的 Pandas 数据框以提高可读性。我试图将我在文档中找到的内容应用到一个简单的用例中,但我无法让 jupyter notebook 实际打印带有颜色的表格 - 我一直在获取纯数据框。小例子:
import seaborn as sns
import pandas as pd
cm = sns.light_palette('green', as_cmap=True)
df_res = pd.DataFrame(index =['foo','bar'],columns = ['Value 1','Value 2','Value 3'])
df_res.loc['foo'] = [-.5*100, .3,.2]
df_res.loc['bar'] = [.3*100, .6,.9]
df_res.style.background_gradient(cmap=cm)
Run Code Online (Sandbox Code Playgroud)
只是打印
我尝试了不同的印刷技术,即
pretty = df_res.style.background_gradient(cmap=cm)
display(pretty)
Run Code Online (Sandbox Code Playgroud)
或者
print(pretty)
Run Code Online (Sandbox Code Playgroud)
或不同的颜色图
df_res.style.background_gradient(cmap='viridis')
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用。我也尝试过样式器是否有效,但至少 applymap 函数做了它应该做的:
def color_negative_red(val):
"""
Takes a scalar and returns a string with
the css property `'color: red'` for negative
strings, black otherwise.
"""
color = 'red' if …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个 langchain 代理,它能够在某些信息丢失的情况下提出澄清问题。这是可能吗?一个简单的例子是
Input: "Please give me a recipe for a cake"
Agent: "Certainly. What kind of cake do you have in mind?"
Input: "A chocolate cake"
Agent: "Certainly, here is a recipe for a chocolate cake..."
Run Code Online (Sandbox Code Playgroud) 我正在尝试绘制拆分小提琴以在色调变量中比较它们。绘图本身工作正常,但我希望改变色调变量的顺序(即“真”位于分割的左侧而不是右侧)。一个小的工作示例是这样的:
import pandas as pd
import seaborn as sns
df = pd.DataFrame({'my_bool': pd.Series(np.random.choice([True,False],20),dtype='bool'),
'value': pd.Series(np.random.choice(200,20),dtype='int'),
'my_group': np.random.choice(['A','B'],20)})
sns.violinplot(x='my_group',data=df,y='value',hue='my_bool',split=True, palette = {True:'blue', False:'red'})
Run Code Online (Sandbox Code Playgroud)
我想要实现的是在每个拆分的右侧有 False 条目,在左侧有 True 条目。有什么方法可以实现吗?
使用保留关键字或内置函数作为变量/属性名称通常被视为不好的做法。然而,SQLALchemy教程充满了名为 的属性的示例id。
直接从教程开始
>>> class User(Base):
... __tablename__ = "user_account"
...
... id: Mapped[int] = mapped_column(primary_key=True)
... name: Mapped[str] = mapped_column(String(30))
... fullname: Mapped[Optional[str]]
...
... addresses: Mapped[List["Address"]] = relationship(
... back_populates="user", cascade="all, delete-orphan"
... )
...
... def __repr__(self) -> str:
... return f"User(id={self.id!r}, name={self.name!r}, fullname={self.fullname!r})"
Run Code Online (Sandbox Code Playgroud)
为什么不建议使用它id_来代替,至少对于PEP 8中的关键字是推荐的?
给定一个像这样的熊猫数据框:
Col_1 Col_2 Col_3 Col_4 Col_5 Col_6
0 1 2 3 4 5 6
1 7 8 9 10 11 12
Run Code Online (Sandbox Code Playgroud)
我想取由某个给定间隔定义的列子集的平均值。假设间隔是两个,那么我想取 Col_1 和 Col_2、Col_3 和 Col 4 以及 Col_5 和 Col6 的平均值。或者给定间隔为 3,我希望输出为
First_Avg Second_Avg
0 2 5
1 8 11
Run Code Online (Sandbox Code Playgroud)
假设我不能放弃我的列的命名。代码:
import pandas as pd
df = pd.DataFrame(columns =['Col_'+str(n) for n in range(1,7)], data =np.arange(12).reshape(2,6))
Run Code Online (Sandbox Code Playgroud)