(一)将下面的字典创建为DataFrame data = { "grammer":[ "Python", "C", "Java", "GO",np.nan, "SQL", "PHP", "Pytho
时间: 2024-11-03 19:04:22 浏览: 37
首先,在Python中,你可以使用pandas库将字典转换成DataFrame。pandas是一个强大的数据处理库,非常适合处理表格数据。下面是将给定的字典"data"转换成DataFrame的步骤:
```python
import pandas as pd
# 定义字典
data = {
"grammar": ["Python", "C", "Java", "GO", np.nan, "SQL", "PHP", "Python"],
# 如果还有其他列,可以添加到这里,比如假设有一个名为'type'的列
"type": ["High-Level", "Low-Level", "High-Level", "High-Level", "No Data", "Structured Query Language", "Scripting", "High-Level"],
}
# 创建DataFrame
df = pd.DataFrame(data)
# 处理缺失值,这里我们选择忽略空值,如果你需要特定处理,可以使用fillna()函数
df = df.dropna(subset=["grammer"]) # 默认删除含有NaN的行,如果你想要填充,可以用df.fillna('your_value')
print(df)
```
这将创建一个DataFrame,其中"grammar"列为一列,如果有其他列如"type"也会包含。如果字典中的"grammar"列有缺失值(在这个例子中是`np.nan`),已经进行了处理,只保留了非缺失的数据。
相关问题
创建Dataframe 将字典{"grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","Python"], "score":[1,2,np.nan,4,5,6,7,10]}创建为Dataframe并打印
可以使用Python中的pandas库来创建Dataframe。具体实现代码如下所示:
```python
import pandas as pd
import numpy as np
data_dict = {"grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","Python"], "score":[1,2,np.nan,4,5,6,7,10]}
data = pd.DataFrame(data_dict)
print(data)
```
输出结果为:
```
grammer score
0 Python 1.0
1 C 2.0
2 Java NaN
3 GO 4.0
4 NaN 5.0
5 SQL 6.0
6 PHP 7.0
7 Python 10.0
```
import os # import re import sys # import time import pandas as pd import numpy as np from datetime import datetime import matplotlib.pyplot as plt import seaborn as sns # set path env -- START def setModulePath(rootName, maxTries=8): rootPath = os.path.dirname(os.path.abspath(__file__)) for i in range(maxTries): if os.path.basename(rootPath)==rootName: # 如果已经到达指定的根目录 break else: rootPath = os.path.dirname(rootPath) # 否则取上级目录 print('<root>',rootPath) sys.path.append(rootPath) return rootPath root = setModulePath(rootName='assignment') from utilities import ez # set path env -- END class DataAnalyzer: def __init__(self): self.dataFrame = None def getDataFromExcel(self, src_pth, data_type, cols): obj = pd.ExcelFile(src_pth) raw = pd.read_excel(obj, sheet_name=0, dtype=data_type) self.dataFrame = raw[cols].copy(deep=True) def adjustDataType(self ): df = self.dataFrame.copy(deep=True) intCols = [ "size" ] for i in intCols: df[i] = df[i].apply(lambda x: int(x)) floatCols = [ "total_bill", "tip"] for i in floatCols: df[i] = df[i].apply(lambda x: float(x)) self.dataFrame = df if __name__ == '__main__': infile = os.path.join(root, "data", "data.xlsx") inputColumns = ez.inputColumns inputColumnType = {column: str for column in inputColumns} analyzer = DataAnalyzer() analyzer.getDataFromExcel(src_pth=infile, data_type=inputColumnType,cols=inputColumns) analyzer.adjustDataType() df = analyzer.dataFrame df['tip_percent'] = df['tip']/(df['tip']+df['total_bill']) sns.set() 这个程序包括了哪些知识点
这个程序包括了以下知识点:
1. 文件操作:使用了os模块来获取文件路径,使用pandas读取Excel文件。
2. 数据处理:使用pandas来处理数据,包括读取、复制、修改数据类型等。
3. 数据可视化:使用matplotlib和seaborn来进行数据可视化,包括生成图表、设置样式等。
4. 模块导入:使用sys和自定义模块来导入其他模块。
5. 类的定义和使用:定义了DataAnalyzer类来封装数据分析的功能。
6. 条件语句:使用了if语句来判断程序是否在主程序中运行。
7. 循环语句:使用了for循环来遍历列表。
8. 函数的定义和使用:定义了多个函数来实现具体的功能。
9. 匿名函数:使用了lambda函数来对数据进行处理。
10. 数据类型转换:使用了int()和float()函数来将数据类型转换为整数和浮点数。
阅读全文