pandas 使用connectorx从mysql数据库加载数据会更改列的数据类型

kkbh8khc  于 2023-03-11  发布在  Mysql
关注(0)|答案(1)|浏览(213)

我正在使用 connectorx 从MySQL数据库中读取数据到一个Pandas数据框中。数据框的日期和文本类型列现在看起来像b '',这给进一步的计算带来了问题。我的代码和输出在下面提到,带有伪数据。

import connectorx as cx
db_url="mysql://{user}:{pw}@localhost:{port}/{db}".format(user="testuser",pw="testpassword",db="cachedb",port=13306)
query="""Select * from test"""
df=cx.read_sql(db_url,query)

df1.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 6 columns):
 #   Column        Non-Null Count  Dtype  
---  ------        --------------  -----  
 0   sepal_length  150 non-null    float64
 1   sepal_width   150 non-null    float64
 2   petal_length  150 non-null    float64
 3   petal_width   150 non-null    float64
 4   species       150 non-null    object 
 5   species_id    150 non-null    Int64  
dtypes: Int64(1), float64(4), object(1)
memory usage: 7.3+ KB

df

whlutmcx

whlutmcx1#

尝试将字节字符串解码为常规字符串:

df['species'] = df['species'].str.decode('utf-8')  # or 'ascii'
print(df)

# Output
    species
0    setosa
1  virginia

输入数据:

df = pd.DataFrame({'species': [b'setosa', b'virginia']})
print(df)

# Output
       species
0    b'setosa'
1  b'virginia'

相关问题