【问题标题】:How to delete "[","]" in dataframe? and How i paste dataframe to existing excel file?如何删除数据框中的“[”,]”?以及如何将数据框粘贴到现有的 excel 文件中?
【发布时间】:2022-01-08 07:34:40
【问题描述】:

我对 python 很陌生。我认为这很简单,但我做不到。我要做的是从特定字符串中删除一列每个值的一些字符串。

available_list
AE,SG,MO
KR,CN
SG
MO,MY
all_list = 'AE,SG,MO,MY,KR,CN,US,HK,YS' 

我想从 all_list 中删除 available_list 值。 我尝试的是以下代码。

col1 = df['available_list']
all_ori = 'AE,SG,MO,MY,KR,CN,US,HK,YS'.split(',')
all_c = all_ori.copy()
result=[]

for i in col1:
    for s in i:
        all_c.remove(s)
    result.append(all_c)
    all_c = all_main.copy()

result_df = pd.DataFrame({'Non-Priviliges' : result})

但结果是,

|Non-Priviliges|
|[MY, KR, CN, US, HK, YS]|
|[SG, MO, US, HK, YS]|
|[AE, SG, KR, CN, US, HK, YS]|

问题是“[”、“]”。我如何删除它们?

在替换它们之后, 我想将此系列粘贴到现有的 excel 文件中,在名为“Priviliges”的列旁边。

你能给我一些建议吗?谢谢!

【问题讨论】:

  • 从您的示例中,我可以理解输出将是 YS,HK,US。但是你想怎么写回 excel 呢?每个值占一行还是所有值都在一行中?
  • 我想获取行的每个值!我想要的结果是每一行的非特权国家。抱歉我的问题不清楚!

标签: python excel pandas


【解决方案1】:

假设你的文件名是“hello.xlsx”,我的回答如下:

import pandas as pd
        
df = pd.read_excel('hello.xlsx')
        
all_list_str = 'AE,SG,MO,MY,KR,CN,US,HK,YS'
all_list = all_list_str.split(',')
        
def find_non_priv(row):
    #convert row item string value to list
    row_list = row.split(',')
    return ','.join(list(set(all_list) - set(row_list)))
        
# pandas apply is used to call function to each row items.
df['Non-Priviliges'] = df['available_list'].apply(find_non_priv)
        
df.to_excel('output.xlsx')

【讨论】:

  • 感谢它有效。我不知道应用方法。它可以按列修改数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-16
  • 2018-12-13
相关资源
最近更新 更多