我已经从我的Jupyter笔记本中的数据库导入了数据。
import pyodbc
cnxn = pyodbc.connect('...')
cursor =cnxn.cursor()
cursor.execute("...")
tables = cursor.fetchall()然后我将tables转换为data frame。
Db2Df = []
for row in tables:
Db2Df.append({...,...})
df = pd.DataFrame(Db2Df)
df.head()因此,在完成上述操作之后,我正在研究我的数据。
输入:
type(df)
type(df["Column_1"])
type(df["Column_1"][0])输出:
pandas.core.frame.DataFrame
pandas.core.series.Series
str我的问题是,为什么数据类型是这样的(为什么要这样做)?pandas series中的str在data frame中?在处理数据时,如果我想操作str,我应该考虑使用data frame还是series……
谢谢。
发布于 2018-09-07 05:39:13
把数据帧想象成一本序列字典:
d = dict(col1=['a', 'b', 'c'], col2=['d', 'e', 'f'] 与pd.DataFrame非常相似。
实际上,您可以将此字典d转换为dataframe:
import pandas as pd
df = pd.DataFrame(d)在按照你描述的方式创建了你的类型之后,这是非常意料之中的行为:
assert isinstance(df, pd.DataFrame)
assert isinstance(df.col1, pd.Series)
assert isinstance(df.col1[0], str)https://stackoverflow.com/questions/52210379
复制相似问题