import pandas as pd
df = pd.read_csv("sample.csv", usecols=["name", "last_name"])
当你想要前N列
如果你不知道列名,但是你想从dataframe中得到前N列。
import pandas as pd
df = pd.read_csv("sample.csv", usecols=[i for i in range(n)])
编辑 知道要删除的列的名称时
# Read column names from file
cols = list(pd.read_csv("sample_data.csv", nrows=1))
print(cols)
# Use list comprehension to remove the unwanted column in **usecol**
df= pd.read_csv("sample_data.csv", usecols =[i for i in cols if i != "name"])
6条答案
按热度按时间vof42yt11#
使用
pd.read_csv
和nrows=1
从CSV中获取列标题,然后使用usecols
执行后续读取,以提取除要忽略的列之外的所有内容。或者,您可以使用CSV模块做同样的事情(只读头)非常有效,
wfypjpf42#
使用
df= df.drop(['ID','prediction'],axis=1)
很适合我。我删除了“ID”和“prediction”列。确保将它们放在方括号中,如['column1','column2']
。不需要其他复杂的解决方案。m0rkklqb3#
列可以在阅读本身时删除。
uelo1irk4#
这两行代码的答案将真正帮助你。你甚至可以在创建CSV时动态删除列名。
https://stackoverflow.com/a/71440977/12819393
utugiqy65#
如果您事先知道列名,则可以通过设置
usecols
参数来实现当您知道要使用哪些列时
假设你有一个csv文件,列为
["id", "name", "last_name"]
,你只需要["name", "last_name"]
。你可以这样做:当你想要前N列
如果你不知道列名,但是你想从dataframe中得到前N列。
编辑
知道要删除的列的名称时
bvuwiixz6#
read_csv()
的唯一一个参数是usecols
。根据文档,usecols
接受类似列表的或可调用的。因为你只知道你想删除的列,所以你不能使用你想保留的列的列表。所以使用一个可调用的:当然,如果有一个不想使用的列名列表,也可以说
x not in ["unwanted", "column", "names"]
。