gpt4 book ai didi

python - 如何使用python-pandas在apply函数中调用数据帧的索引值作为arg?

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:05 25 4
gpt4 key购买 nike

我有一个数据框df,格式如下:

        text
0 hi john
1 how are you
2 666
3 so crazy
...

我希望将每一行逐一写入不同的文件中,并以索引号作为文件名。例如,'hi john' 应写入 0.txt

给定函数:

def writeText(text, index):
with open(str(number)+'.txt', 'w+') as f:
f.write(text)

现在我需要将其应用df:

df.apply(writeText, args=(??????, ))

我应该将什么参数传递给函数以便可以使用索引号?提前致谢!

最佳答案

我认为您可以首先将 text 列转换为 values然后使用 numpy.ndarray.tofile in循环写入数据:

print df

text
0 hi john
1 how are you
2 666
3 so crazy

for row in df.text.reset_index().values:
print row
row[1:].tofile(str(row[0])+'.txt', sep="\t", format="%s")

[0L 'hi john']
[1L 'how are you']
[2L '666']
[3L 'so crazy']

另一种选择:

def writeText(df):
for row in df.text.reset_index().values:
with open(str(row[0])+'.txt', 'w+') as f:
f.write(str(row[1]))

writeText(df)

但是如果你需要apply functionDataFrame 使用 iteritems :

def writeText(x):
for row in x.iteritems():
with open(str(row[0])+'.txt', 'w+') as f:
f.write(str(row[1]))

df.apply(writeText)

关于python - 如何使用python-pandas在apply函数中调用数据帧的索引值作为arg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36884471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com