熊猫:如何使用数据文件作为路径/文件名的一部分来编写csv文件
我有一个这样的例子:
df = pd.DataFrame(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print df
0
a -0.899348
b 0.297170
c -0.998461
d 0.651564
e 2.013107和包含完整路径/文件名的单个列的第二个数据文件
data2 = {'filepath': ['C:\\test\\testsub\\testfile.csv']}
path = pd.DataFrame(data2, columns=['filepath'])
print path
filepath
0 C:\test\testsub\testfile.csv我可以将第一个数据文件写入csv,如下所示:
df.to_csv('C:\\test\\testsub\\testfile.csv')但是,我找不到一种方法来从“path”dataframe设置路径/文件名。
df.to_csv(path['filepath'])...returns错误:
'TypeError: coercing to Unicode: need string or buffer, list found'数据格式似乎需要某种形式的转换才能在这里使用。我找不到这方面的任何信息。有人能告诉我我怎样才能做到这一点吗?所有的帮助都很感激。
(更大的情况是,这个过程是循环的一部分,其中所需的路径/文件名在dataframe 'path‘中返回。我可以准确地打印路径和文件名,但我不能编写csv)
发布于 2014-04-09 00:35:42
您只需确保从filepath列中提取单个元素,而不是将整个列作为文件名传递。您可以使用像.ix[]或.iloc[]这样的索引方法来完成这一任务。
current_filepath = path['filepath'].iloc[0]
current_filepath
Out[8]: 'C:\\test\\testsub\\testfile.csv'
df.to_csv(current_filepath)因为您的示例dataframe path只有整数索引,所以您也可以这样做:
path['filepath'][0]但是,如果你有一个不同的索引,这就不一样了。
https://stackoverflow.com/questions/22950704
复制相似问题