我有一个来自A-G列的数据文件,如下所示,但当我用pd.read_csv('data.csv')
阅读时,它会在最后打印一个额外的unnamed
列,无缘无故。
colA ColB colC colD colE colF colG Unnamed: 7
44 45 26 26 40 26 46 NaN
47 16 38 47 48 22 37 NaN
19 28 36 18 40 18 46 NaN
50 14 12 33 12 44 23 NaN
39 47 16 42 33 48 38 NaN
我已经看过不同时间的数据文件,但我在其他任何列中都没有额外的数据。如何在阅读时删除这个额外的列?感谢
答案 0 :(得分:64)
In [162]: df.loc[:, ~df.columns.str.contains('^Unnamed')]
Out[162]:
colA ColB colC colD colE colF colG
0 44 45 26 26 40 26 46
1 47 16 38 47 48 22 37
2 19 28 36 18 40 18 46
3 50 14 12 33 12 44 23
4 39 47 16 42 33 48 38
如果第一列有索引值,那么您可以改为:
pd.read_csv('data.csv', index_col=0)
答案 1 :(得分:14)
首先,找到具有“未命名”的列,然后删除这些列。注意:您还应将inplace = True
添加到.drop
参数中。
df.drop(df.columns[df.columns.str.contains('unnamed',case = False)],axis = 1, inplace = True)
答案 2 :(得分:3)
pandas.DataFrame.dropna
函数将删除missing values(例如//plugins/auth.js
import firebase from '~/plugins/firebase'
function auth () {
return new Promise((resolve, reject) => {
firebase.auth().onAuthStateChanged((user) => {
resolve(user || false)
})
})
}
export default auth
,NaN
)。
例如,以下代码将从数据框中删除所有缺少该列所有元素的列。
NaT
答案 3 :(得分:1)
在我的情况下,批准的解决方案不起作用,所以我的解决方案是以下解决方案:
''' The column name in the example case is "Unnamed: 7"
but it works with any other name ("Unnamed: 0" for example). '''
df.rename({"Unnamed: 7":"a"}, axis="columns", inplace=True)
# Then, drop the column as usual.
df.drop(["a"], axis=1, inplace=True)
希望对别人有帮助。