假设我有一个pandas数据框surveyData:
我想通过执行以下操作来规范化每列中的数据:
surveyData_norm = (surveyData - surveyData.mean()) / (surveyData.max() - surveyData.min())
Run Code Online (Sandbox Code Playgroud)
如果我的数据表只包含我想要规范化的列,这将正常工作.但是,我有一些列包含前面的字符串数据,如:
Name State Gender Age Income Height
Sam CA M 13 10000 70
Bob AZ M 21 25000 55
Tom FL M 30 100000 45
Run Code Online (Sandbox Code Playgroud)
我只想规范Age,Income和Height列,但我的上述方法不起作用,因为名称状态和性别列中的字符串数据.
我目前正在将数据读入一个看起来像这样的数据框.
City XCord YCord
Boston 5 2
Phoenix 7 3
New York 8 1
..... . .
Run Code Online (Sandbox Code Playgroud)
我想根据这些数据创建欧几里德距离矩阵,显示所有城市对之间的距离,这样我得到一个结果矩阵,如:
Boston Phoenix New York
Boston 0 2.236 3.162
Phoenix 2.236 0 2.236
New York 3.162 2.236 0
Run Code Online (Sandbox Code Playgroud)
在我的实际数据框架中有更多的城市和坐标,所以我需要能够以某种方式迭代所有城市对并创建一个像我上面所示的距离矩阵,但我不知道如何配对所有引用并引用欧几里德距离公式?任何帮助,将不胜感激.
我在 python 中有以下字典,表示从 - 到距离矩阵。
graph = {'A':{'A':0,'B':6,'C':INF,'D':6,'E':7},
'B':{'A':INF,'B':0,'C':5,'D':INF,'E':INF},
'C':{'A':INF,'B':INF,'C':0,'D':9,'E':3},
'D':{'A':INF,'B':INF,'C':9,'D':0,'E':7},
'E':{'A':INF,'B':4,'C':INF,'D':INF,'E':0}
}
Run Code Online (Sandbox Code Playgroud)
是否可以将此矩阵输出到 excel 或 csv 文件中,使其具有以下格式?我已经研究过使用 csv.writer 和 csv.DictWriter 但无法产生所需的输出。
我试图在一个步骤中为同一个值分配多个键,但我遇到了麻烦.
stateDict = {1:'AZ', 2:'AZ', 3:'AZ', 4:'AZ'.......}
Run Code Online (Sandbox Code Playgroud)
我想分配一系列数字0-100,'AZ'而不必单独分配.
这可能吗?