首页 > 解决方案 > 如何通过比较行的长度来删除列?

问题描述

Hello World,如果特定项目的长度小于 5 或​​项目为空,如何删除整个列?这就是我使用 List 中的 pandas 保存到 CSV 的方式:

import pandas as pd
df = pd.DataFrame(Entertainmentlist)
df.to_csv('EnterTainment.csv', encoding='utf-8-sig' , index = False , mode = 'a')

这是 CSV 文件的屏幕截图:

在此处输入图像描述

正如您在Column 3heading is emptyhas length <5

including image and description如果标题为空或长度<5 ,我如何循环整个 CSV 并删除完整列

标签: pythoncsvbeautifulsoup

解决方案


您可以执行以下操作,无需删除任何,只需过滤您的行df,然后将其写入csv

例子

import pandas as pd

cars = {'Brand': ['Honda Civic','Kia','Ford Focus','Audi A4'],
        'Price': [22000,25000,27000,35000]
        }

df = pd.DataFrame(cars, columns = ['Brand', 'Price'])
df_filtered = df[df['Brand'].map(len) > 5]

df_filtered.to_csv('cars.csv', encoding='utf-8-sig' , index = False , mode = 'a')

如果你真的想删除使用.drop()

df.drop(df[df['Brand'].map(len) < 5].index, inplace=True)

推荐阅读