对于我拥有的数据,如下所示(示例):
import pandas as pd
MyDict = {'text' : ['\nbla bla text \n\n bla bla another text \n # bla text \n\n\n bla bla another text',
'\nbla bla bla text2 \n\n\ bla bla bla another text it is \n\n # bla bla bla text \n bla bla it is another text']}
df = pd.DataFrame(MyDict)
我想计算 text
列中每个单元格中不为空('\n')的总行数,这样我应该能够获得一个看起来像这样的数据框这个:
text total_lines
'bla bla text \n\n bla bla another text \n # bla text \n\n\n...' 4
'bla bla bla text2 \n\n\ bla bla bla another text it is \n\n...' 4
text
列的单元格 1 中有 4 个非空行,单元格 2 中有 4 个非空行,依此类推...
我尝试在 stackoverflow 上搜索,但找不到任何相关建议。有人可以帮我解决这个问题吗?
最佳答案
你可以尝试这样的事情:
df['total_lines'] = df['text'].str.split('\n').apply(lambda x: len(x) - x.count(''))
输出:
text total_lines
0 \nbla bla text \n\n bla bla another text \n # ... 4
1 \nbla bla bla text2 \n\n\ bla bla bla another ... 4
每个字符串都被分成几行,并从列表中所有元素的数量中减去空值。它为我们提供了非空值的数量。
关于python - 如何计算pandas数据框中单元格内的行数,这些行不是空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72304786/