【发布时间】:2020-08-01 03:44:00
【问题描述】:
我有一个数据框,每个单元格中都有文本。我想遍历数据框及其单元格的单个字符,并用 0 填充一个列表来表示有一个空格,或者用 1 表示一个字符。我尝试了 itertuples、iterrows 和 iteritems,但我无法访问字符串的每个字符。
crispr = pd.DataFrame({'Name': ['Bob', 'Jane', 'Alice'],
'Issue': ['Handling data', 'Could not read sample', 'No clue'],
'Comment': ['Need to revise data', 'sample preparation', 'could not find out where problem occurs']})
我尝试的是:
dflist = []
countchar= 0
for i,j in crispr.iteritems():
for x in range(len(j)):
test = j[countchar].isspace()
countchar+=1
if test == True:
dflist.append(0)
else:
dflist.append(1)
我试图弄清楚它是否适用于 itertuples 或 iterrows():
for i in crispr.itertuples():
for j in i:
for b in j:
print(b)
出现以下错误:
TypeError: 'int' object is not iterable
预期的输出是一个列表,其中 1 表示字符,0 表示空格:
dflist = [[1,1,1], [1,1,1,1], [1,1,1,1,1]],[[1,1,1,1,1,1,1,0,1,1,1,1], ...]]
【问题讨论】:
-
@PatrickArtner 现在可以重现了吗?
标签: python pandas dataframe character iterable