龖釋 发表于 2021-8-15 15:13:58

怎样用python将多列数据转换为两列数据?数据量大

本帖最后由 龖釋 于 2021-8-15 15:17 编辑


徐州东观音机场睢宁宿迁泗阳淮安东扬州东大港南镇江南京
南京镇江扬州东高邮淮安东涟水连云港赣榆
赣榆连云港灌云淮安东高邮北扬州东大港南镇江南京
南京镇江扬州东宝应淮安东泗阳宿迁睢宁观音机场徐州东
徐州东睢宁宿迁泗阳淮安东宝应扬州东镇江南京
南京镇江扬州东泗阳宿迁睢宁观音机场徐州东
徐州东宿迁淮安东宝应高邮北高邮扬州东镇江南京
南京扬州东宝应淮安东宿迁睢宁徐州东
南京镇江灌南灌云连云港
连云港灌云灌南涟水淮安东扬州东镇江南京
有大量Excel数据,数据格式如上,怎么用python将每一行数据分割成下面的格式
徐州东    观音机场
徐州东    睢宁
徐州东    宿迁
。。。。。。
徐州东    赣榆
观音机场    睢宁
观音机场    宿迁
。。。。。。
观音机场    赣榆
睢宁   宿迁
。。。。。。
。。。。。。
镇江    南京


求助怎么用python生成这样的数据,代码怎么写?

dragon_xiao 发表于 2021-8-15 16:33:21

这有啥规律?

龖釋 发表于 2021-8-15 17:48:52

dragon_xiao 发表于 2021-8-15 16:33
这有啥规律?

就是在每一行的数据中,每一个站点除与自身外,与其他站点之间两两都有连接

阿奇_o 发表于 2021-8-15 18:01:00

本帖最后由 阿奇_o 于 2021-8-15 18:21 编辑

import pandas as pd
import numpy as np

df = pd.read_excel("多列数据转为两列.xlsx")# 起点-终点 遍历组合
t = []
for i, row in df.iterrows():
    # print(type(row))
    for j in range(len(row)):
      for k in range(1, len(row)):
            st = (row.iloc, row.iloc)
            t.append(st)
dft = pd.DataFrame(data=t)
dft.columns = ['起点', '目的地']
# print(dft)
print(dft[:30])

ps: 用 df.itertuples()来遍历,会更快写。处理逻辑类似上面。
页: [1]
查看完整版本: 怎样用python将多列数据转换为两列数据?数据量大