1
我想多个CSV文件加载到一个单一的数据帧DF而创建新的列和usecols:大熊猫read_csv同时
- 将列名
- 添加和填充新的列(站)
- 排除列(QD之一)
,直到我试图排除与usecols一列,它引发错误Too many columns specified: expected 5 and found 4
所有这一切工作正常。
是否有可能创建一个新的列并同时传递usecols?
我在创建&的原因是在read_csv期间填充新的“工作站”列是我的数据帧将包含来自多个工作站的数据。我可以通过在一个语句中执行read_csv来解决错误,并在下一个QD列中删除df.drop('QD', axis=1, inplace=True)
,但想确保我理解如何以最可熊的方式执行此操作。
下面是引发错误的代码:
df = pd.concat(pd.read_csv("http://lgdc.uml.edu/common/DIDBGetValues?ursiCode=" + row['StationCode'] + "&charName=MUFD&DMUF=3000",
skiprows=17,
delim_whitespace=True,
parse_dates=[0],
usecols=['Time','CS','MUFD','Station'],
names=['Time','CS','MUFD','QD','Station']
).fillna(row['StationCode']
).set_index(['Time', 'Station'])
for index, row in stationdf.iterrows())
例StationCode从stationdf BC840
。 数据样本2016-09-19T00:00:05.000Z 100 19.34 //
谢谢。感觉用filllna很脏,但想继续前进,看看我会面临哪些其他问题。 – AF7TI
哈哈呀'fillna'是一个很奇怪的方式来做到这一点! – maxymoo