【问题标题】:Python - Convert Query to DataFramePython - 将查询转换为数据帧
【发布时间】:2021-05-21 02:09:44
【问题描述】:

我对 Python 还很陌生,刚刚开始掌握如何使用它进行大数据分析。

我想知道是否可以将查询结果转换为 Dataframe。

我的结果是基于拆分先前的字符串以获得出现次数

   database_desired = df_ddny.DatabaseDesireNextYear.apply(lambda x: pd.value_counts(str(x).split(";"))).sum(axis=0)
print(database_desired)

输出:

Microsoft SQL Server     9409.0
nan                     11632.0
MySQL                   14827.0
PostgreSQL              17023.0
MongoDB                 15221.0
Firebase                 8149.0
Redis                   11543.0
MariaDB                  5843.0
Elasticsearch            9870.0
Cassandra                4027.0
SQLite                  10422.0
dtype: float64

我只想拥有一个看起来像这样的 DataFrame:

    DatabaseName     Count
Microsoft SQL Server    9409.0
MySQL                   14827.0

等等。 我曾尝试创建一个新的 DataFrame 并将结果作为新列插入,但 DataFrame 没有我使用过的属性(我预计会这样)

new_df = pd.DataFrame({'Databases Worked':[df_ddny.DatabaseDesireNextYear]})
new_df['Count'] = df_ddny.DatabaseDesireNextYear.apply(lambda x: pd.value_counts(str(x).split(";"))).sum(axis=0)
new_df.info()

我查看了其他几篇文章,但无法完全根据我的场景进行配置。 谢谢!

【问题讨论】:

  • 类似database_desired.to_frame('Counts').reset_index().rename(columns={0:'DatabaseName'}) 假设DatabaseName 字段是当前输出的索引
  • pd.read_sql() 做你想做的事吗?
  • @ThePyGuy - 完美!大功告成,谢谢:)
  • @ThePyGuy 你想将你的评论作为“答案”弹出,以便我可以标记为解决方案
  • 我作为答案添加了@craig157

标签: python pandas dataframe split series


【解决方案1】:

调用to_frame创建一个框架,你可以传递列名给它,最后重置索引,重置后将索引列重命名为0

database_desired = database_desired.to_frame('Counts').reset_index().rename(columns={0:'DatabaseName'})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2023-03-04
    • 2020-09-06
    • 2019-09-26
    • 1970-01-01
    • 2021-12-12
    • 2021-12-27
    相关资源
    最近更新 更多