pandas 未命名:0”列无法擦除

ndasle7k  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(173)

你好,我有一个代码,过滤一些行的csv,并创建一个没有这些行的csv,但当我创建该csv时,我得到一个名为“未命名:0”且无法删除。

import pandas as pd

df = pd.read_csv("table.csv")
df.drop(df[df['Stock'].eq('No')].index, inplace=True)
df.to_csv('pedro.csv', index=False )

我已经尝试了所有的方法,甚至设置了index = False,但它还是出现了。
我也试过使用

import pandas as pd

df2= pd.read_csv("pedro.csv")
df2.drop("Unnamed: 0", axis=1)

但它仍然不起作用,因为它返回以下内容:

Unnamed: 0                                  Titulo        Precio Stock Ultima Vez
0           0  RPi CM4 - 8GB RAM, 32GB MMC, With Wifi  (EUR) 120.52   Yes  20-Nov-22
1           1      RPi CM4 - 2GB RAM, No MMC, No Wifi   (EUR) 44.40   Yes  20-Nov-22
2           2    RPi CM4 - 1GB RAM, 32GB MMC, No Wifi   (EUR) 57.08   Yes  20-Nov-22
3           3    RPi CM4 - 1GB RAM, 16GB MMC, No Wifi   (EUR) 50.74   Yes  20-Nov-22
4           4     RPi CM4 - 1GB RAM, 8GB MMC, No Wifi  (PLN) 279.00   Yes  20-Nov-22
zbdgwd5y

zbdgwd5y1#

使用pandas.DataFrame.drop或设置inplace=True.后,需要重新分配 Dataframe
试试这个:

import pandas as pd

df = pd.read_csv("table.csv")
df.drop(df[df['Stock'].eq('No')].index, inplace=True)
df.drop("Unnamed: 0", axis=1, inplace=True)
df.to_csv('pedro.csv', index=False)

或者这样:

import pandas as pd

df = pd.read_csv("table.csv")

(
    df
     .loc[df['Stock'].ne('No'),
          ~df.columns.str.contains('^Unnamed')]
     .to_csv('pedro.csv', index=False)
)

相关问题