【发布时间】: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