Pandas 是一个用于数据处理和分析的 Python 库,它提供了两种主要的数据结构:Series 和 DataFrame。在 Pandas 中,基本或标量数据类型是指在 Series 或 DataFrame 中存储的单个值的数据类型。
Pandas 支持以下基本数据类型:
int64
:64位整数。float64
:64位浮点数。object
:通常用于存储字符串,但也可以存储其他混合类型。bool
:True 或 False。datetime64[ns]
:纳秒级的时间戳。timedelta64[ns]
:表示时间间隔。category
:用于存储有限数量的离散值,节省内存并提高性能。complex
:复数类型。decimal
:高精度十进制数。以下是一些示例代码,展示了如何在 Pandas 中使用这些基本数据类型:
import pandas as pd
# 创建一个 Series
s = pd.Series([1, 2, 3, 4], dtype='int64')
print(s)
# 创建一个 DataFrame
df = pd.DataFrame({
'A': [1.1, 2.2, 3.3], # float64
'B': ['foo', 'bar', 'baz'], # object (字符串)
'C': [True, False, True], # bool
'D': pd.date_range('2023-01-01', periods=3), # datetime64[ns]
'E': pd.Categorical(['a', 'b', 'a']) # category
})
print(df)
# 查看数据类型
print(df.dtypes)
问题:数据类型不匹配
当尝试对不同数据类型的列进行操作时,可能会遇到类型不匹配的问题。
原因:例如,尝试将字符串类型的列与数值类型的列相加。
解决方法:
# 错误示例
try:
result = df['A'] + df['B'] # 这将引发 TypeError
except TypeError as e:
print(f"Error: {e}")
# 正确示例:确保数据类型匹配
df['B'] = df['B'].astype('category').cat.codes # 将字符串转换为数值编码
result = df['A'] + df['B']
print(result)
通过这种方式,可以确保在进行数据操作时,各列的数据类型是兼容的。
领取专属 10元无门槛券
手把手带您无忧上云