小编Mat*_*ohn的帖子

从pyodbc execute()语句返回列名

from pandas import DataFrame
import pyodbc

cnxn = pyodbc.connect(databasez)
cursor.execute("""SELECT ID, NAME AS Nickname, ADDRESS AS Residence FROM tablez""")
DF = DataFrame(cursor.fetchall())
Run Code Online (Sandbox Code Playgroud)

这可以填充我的pandas DataFrame.但我怎么得到

DF.columns = ['ID', 'Nickname', 'Residence']
Run Code Online (Sandbox Code Playgroud)

直接从光标?该信息是否完全存储在光标中?

python pyodbc pandas

35
推荐指数
4
解决办法
4万
查看次数

正确初始化数据的方法

使用RefluxJS初始化数据(异步)的正确方法是什么?是否有类似于AngularJS的解决方案,或者Flux实现与此无关(路由器应该处理这种可靠性)?

javascript flux reactjs refluxjs

7
推荐指数
1
解决办法
4249
查看次数

对于非内置类型(如 pandas DataFrame)的 pydantic @validate_arguments 的最佳实践

我目前正在尝试使用 pydantic 验证函数的输入参数。这适用于内置数据类型,但不适用于 pandas.DataFrame 或 numpy.array 等类型。例子:

@validate_arguments
def some_function(params: pd.DataFrame,
                  var_name: str
                  ) -> dict:
    # do something
    return my_dict
Run Code Online (Sandbox Code Playgroud)

调用 some_function 时显示以下错误:

RuntimeError: no validator found for <class 'pandas.core.frame.DataFrame'>, see `arbitrary_types_allowed` in Config`
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是定义我自己的 DataFrame 类型,如下所示:

class MyDF(pd.DataFrame):
    @classmethod
    def __get_validators__(cls):
        yield cls.validate

    @classmethod
    def validate(cls, val):
        return pd.DataFrame(val)
Run Code Online (Sandbox Code Playgroud)

我不确定这是否是最佳实践。有人有更好的想法吗?

python types dataframe pandas pydantic

6
推荐指数
1
解决办法
8893
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

flux ×1

javascript ×1

pydantic ×1

pyodbc ×1

reactjs ×1

refluxjs ×1

types ×1