【问题标题】:How do I create a data frame of 2 columns from a list?如何从列表中创建 2 列的数据框?
【发布时间】:2019-06-01 11:39:05
【问题描述】:

我想从一个列表中创建一个包含 2 列的数据框。 该列表包含:按顺序排列的州和地区名称 州是名称前面带有“编辑”的国家,其他词是地区名称 例如这里的州是阿拉巴马州,她的地区名称是奥本、佛罗伦萨……直到我们到达第二个州,即“阿拉斯加”。

['Alabama[edit]',
 'Auburn',
 'Florence',
 'Jacksonville',
 'Livingston',
 'Montevallo',
 'Troy',
 'Tuscaloosa',
 'Tuskegee',
 'Alaska[edit]',
 'Fairbanks',
 'Arizona[edit]',
 'Flagstaff',
 'Tempe',
 'Tucson',
 'Arkansas[edit]',
 'Arkadelphia',
....

数据框列将是州和地区名称。

这是我的代码:

    for i in range(len(list)):
    if 'edit' in list[i]:
        university['state'][i:]=re.sub('\[.+','',list[i])
    else:
        university['regionName'][i]=list[i]

【问题讨论】:

  • 请添加列表是什么样的,一个小样本,以及预期的输出是什么,也有一个例子。如果您有一些代码,请添加它。
  • 酷。去做吧。什么阻碍了你?
  • 欢迎来到 Stack Overflow!请参阅How to AskThe perfect question。花点时间阅读帮助中心的editing help。 Stack Overflow 上的格式设置与其他站点不同。您的帖子看起来越好,其他人就越容易阅读和理解。
  • 亲爱的丹尼尔,我已经按照你的要求调整了输出。

标签: python pandas data-science


【解决方案1】:

预处理信息以制作(state,region) 名称的列表元组。使用它来构造 DataFrame

names =  ['Alabama[edit]',
          'Auburn',
          'Florence',
          'Jacksonville',
          'Livingston',
          'Montevallo',
          'Troy',
          'Tuscaloosa',
          'Tuskegee',
          'Alaska[edit]',
          'Fairbanks',
          'Arizona[edit]',
          'Flagstaff',
          'Tempe',
          'Tucson',
          'Arkansas[edit]',
          'Arkadelphia']


data = []
state = None
for name in names:
    name = name.strip()
    if name.endswith('[edit]'):
        state = name[:-6]
        continue
    if not state:     # In case the first name of the list is not a state
        state = 'Unknown'
    data.append((state,name))

df = pd.DataFrame(data)

>>> df
           0             1
0    Alabama        Auburn
1    Alabama      Florence
2    Alabama  Jacksonville
3    Alabama    Livingston
4    Alabama    Montevallo
5    Alabama          Troy
6    Alabama    Tuscaloosa
7    Alabama      Tuskegee
8     Alaska     Fairbanks
9    Arizona     Flagstaff
10   Arizona         Tempe
11   Arizona        Tucson
12  Arkansas   Arkadelphia

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 2020-09-19
    • 2019-03-21
    • 1970-01-01
    • 2015-05-11
    • 2020-11-15
    • 2021-12-17
    相关资源
    最近更新 更多