DataFrame
在 DQL(Data Query Language)中,DataFrame 是一个二维的、带有标签的数据结构,可以存储和处理不同类型的数据。它类似于关系型数据库中的表格,其中每一列可以是不同的数据类型。DataFrame 通常由行和列组成,每一行表示数据集中的一个样本,而每一列则表示一个特征或属性。
在 DQL 中,DataFrame 可以通过各种方式创建,包括从文件中读取数据、从数据库中查询数据、从其他数据结构转换而来等。一旦创建了 DataFrame,您可以使用各种操作对其进行处理,例如过滤、排序、分组、合并等,以便进行数据分析和处理。
总之,DataFrame 在 DQL 中是一种非常重要且常用的数据结构,它提供了灵活而强大的功能,使得数据处理和分析变得更加方便和高效。
创建方法
查询创建
d1 = query("select * from daily_quotes.dqf where product_id = 'FG' limit 100")
return d1
通过字典创建
dict = {"name": ["js", "go"], "count": [1, 2]}
d = DataFrame(dict)
return d
通过字典列表创建
dictList = [{ "name": "js", "count": 1 }, { "name": "go", "count": 2 }]
d = DataFrame(dictList)
return d
通过列表创建
d = DataFrame([["js", 1],["go",2]], columns=["name","count"])
return d
属性
columns
返回列名列表:Type list
d = DataFrame([["js", 1],["go",2]], columns=["name","count"])
return d.columns #返回列名列表:["name","count"]
shape
返回 DataFrame 形状(长度乘以宽度):Type (int, int)
d = DataFrame([["js", 1],["go",2]], columns=["name","count"])
return d.shape #返回DataFrame形状:(2, 2)
empty
查询 DataFrame 是否为空:Type bool
d = DataFrame(columns=["name","count"])
return d.empty #空的 DataFrame ,返回"True"
has_more
query
返回的数据并非都是完整的数据(最多支持 10000 行),可使用该属性进行判断指示是否还有更多的内容可供处理或迭代:Type bool
data = query("select * from shfe.f_position_ranking")
return data.has_more #存在更多内容,返回"True"
方法
head
返回 DataFrame 的前几行。
df.head(n) # "n"代表返回行数,默认值为5
# 示范
d = DataFrame([["js", 1],["go",2],["c",3],["c++",4],["c#",5],["py",6]], columns=["name","count"])
return d.head() #返回前五行数据
tail
返回 DataFrame 的后几行。
df.tail(n) # "n"代表返回行数,默认值为5
# 示范
d = DataFrame([["js", 1],["go",2],["c",3],["c++",4],["c#",5],["py",6]], columns=["name","count"])
return d.tail() #返回后五行数据
rename
重命名 DataFrame 的列。
df.rename()
# 示范
d = DataFrame([["js", 1],["go",2],["c",3],["c++",4],["c#",5],["py",6]], columns=["name","count"])
d2 = d.rename({ "name": "language" })
return d2.columns #返回重命名后列名:["language", "count"]
items
返回 items 列对象,包括具体列名和列数据。
df.items()
# 示范
d = DataFrame([["js", 1],["go",2],["c",3],["c++",4],["c#",5],["py",6]], columns=["name","count"])
return d.items() #返回对象"dataframe.DataFrameItems"
iterrows
返回 items 行对象,包括具体行和行数据。
df.iterrows()
# 示范
d = DataFrame([["js", 1],["go",2],["c",3],["c++",4],["c#",5],["py",6]], columns=["name","count"])
return d.iterrows() #返回对象"dataframe.DataFrameRows"
to_list
将 DataFrame 转换为列表。
df.to_list()
# 示范
d = DataFrame([["js", 1],["go",2],["c",3],["c++",4],["c#",5],["py",6]], columns=["name","count"])
return d.to_list() #返回列List
append
增加一行数据附加到原始 DataFrame。
df.append()
# 示范
d1 = DataFrame({ "name": ["js", "go", "rust", "python"], "count": [12, 13, 14, 15] })
d1.append({ "name": "c", "count": 16 })
return d1 #返回新增加行后的DataFrame