pandas有哪些userwarning
  X5zJxoD00Cah 2023年11月02日 82 0

当使用Pandas时,可能会遇到一些UserWarning。以下是一些可能会出现的UserWarning:

  1. Data Validation extension is not supported and will be removed: 这个警告来自openpyxl,当使用pandas读取Excel文件时,会出现这个警告。这个警告是关于一些规范的扩展,不影响数据的读取1
  2. pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.: 当使用老的书写方式从数据库导入数据到pandas时,会出现这个警告。这个警告是关于使用SQLAlchemy连接数据库的建议2
  3. Pandas doesn’t allow columns to be created via a new attribute name: 当继承Pandas DataFrame时,如果通过新属性名创建列,则会出现这个警告3

以下是每种情况的代码示例:

  1. Data Validation extension is not supported and will be removed: 这个警告通常与Excel文件的读取有关,你可以使用openpyxl库的warnings模块来忽略这个警告,示例如下:
import openpyxl
import warnings
from openpyxl.utils.exceptions import DataValidationError

# 忽略DataValidationError的警告
warnings.simplefilter("ignore", category=DataValidationError)

# 使用Pandas读取Excel文件
df = pd.read_excel('your_excel_file.xlsx')
  1. pandas only supports SQLAlchemy connectable (engine/connection): 这个警告建议使用SQLAlchemy连接数据库。示例代码如下:
from sqlalchemy import create_engine

# 创建一个SQLAlchemy数据库连接
engine = create_engine('database_connection_string')

# 使用SQLAlchemy连接从数据库导入数据到Pandas DataFrame
df = pd.read_sql_query('SELECT * FROM your_table', con=engine)
  1. Pandas doesn't allow columns to be created via a new attribute name: 这个警告通常在继承Pandas DataFrame时出现,你应该避免通过新属性名创建列,而是使用标准的Pandas方式来创建列。示例代码如下:
import pandas as pd

# 创建一个空的DataFrame
df = pd.DataFrame()

# 使用标准方式创建列
df['column_name'] = [1, 2, 3, 4, 5]

# 避免使用新属性名创建列
# df.new_column = [6, 7, 8, 9, 10]  # 这会触发警告

这些示例代码可以帮助你处理这些Pandas UserWarning,并采取适当的措施以避免潜在的问题。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
X5zJxoD00Cah