我想知道在链接方法构建数据框时是否可以使用 pandas.drop方法删除行。
一旦数据帧存在,删除行就很简单:
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [5, 4, 3]})
print(df1)
# drop the entries that match "2"
df1 = df1[df1['A'] !=2]
print(df1)
Run Code Online (Sandbox Code Playgroud)
但是,我想在创建数据框时执行此操作:
df2 = (pd.DataFrame({'A': [1, 2, 3], 'B': [5, 4, 3]})
.rename(columns={'A': 'AA'})
# .drop(lambda x: x['A']!=2)
)
print(df2)
Run Code Online (Sandbox Code Playgroud)
注释行不起作用,但也许有正确的方法可以做到这一点。感谢您的任何投入。
是否可以在 iPython 控制台中显示pandas 样式?Jupyter 笔记本中的以下代码
import pandas as pd
import numpy as np
np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 5)})
df = pd.concat([df, pd.DataFrame(np.random.randn(5, 1), columns=list('B'))],
axis=1)
df.style.format({'B': "{:.2%}"})
Run Code Online (Sandbox Code Playgroud)
正确产生
在控制台中我只得到
In [294]: df.style.format({'B': "{:.2%}"})
Out[294]: <pandas.io.formats.style.Styler at 0x22f3f4fe780>
Run Code Online (Sandbox Code Playgroud)
是否可以在这里实现类似的结果,或者样式引擎是否依赖于 html 前端?
预先感谢您的任何帮助。
我试图回到过去,再次尝试一下 Perl。我安装了 Mac 和 VSCode,并执行了以下操作:
brew install perl安装 perl
/opt/homebrew/bin/perl并perl --version返回“这是为 darwin-thread-multi-2level 构建的 perl 5,版本 34,subversion 0 (v5.34.0)”cpanm Perl::LanguageServer安装语言服务器但是,当我打开创建新的文本文件并将 Perl 设置为文件的语言时,我收到以下错误消息:
ListUtil.c: loadable library and perl binaries are mismatched (got handshake key 0xc700080, needed 0xfb80080)
[Info - 12:52:54 PM] Connection to server got closed. Server will restart.
ListUtil.c: loadable library and perl binaries are mismatched (got handshake key 0xc700080, needed 0xfb80080)
[Info - …Run Code Online (Sandbox Code Playgroud) 使用 pandas 1.0.0.to_markdown()在本论坛中以降价方式显示数据框内容的使用将会激增。有没有一种方便的方法将数据加载回数据帧?也许是一个选择.from_clipboard(markdown=True)?
使用聚合函数命名聚合列时是否可以创建包含空格和特殊字符的名称pandas.NamedAgg?典型的语法是:
pvt = (df.groupby(by=[....])
.agg(value=pd.NamedAgg(column='col', aggfunc='count'))
)
Run Code Online (Sandbox Code Playgroud)
但是有没有办法创建一个不是有效的 python 变量名(如value本例所示)的列名,而是类似的名称'my new column name'?
我现在能想到的唯一解决方案是value事后重命名:
.rename(columns={'value': 'my new column name'})
Run Code Online (Sandbox Code Playgroud)