python - 检查包含数字的列中是否有字符串
问题描述
在下面的示例中,最后一列 (c) 包含名为 'new' 的随机字符串。那么有没有办法检查一个列是否包含一个字符串(不需要只是'新'。它可以是任何字符串)
df_sam = pd.DataFrame({
'a' : ['rick','johnatthan','katei','diana','richard'],
'b' : ['rich','roman','italy','ed','taylor'],
'c' : [2,3,4,5,'new']
})
解决方案
这可以给你一个想法,
import pandas as pd
df_sam = pd.DataFrame({
'a' : ['rick','johnatthan','katei','diana','richard'],
'b' : ['rich','roman','italy','ed','taylor'],
'c' : [2,3,4,5,'new']
})
for colNames in df_sam.columns:
for lenDf in range(len(df_sam[colNames])):
if type(df_sam[colNames][lenDf]) == type(df_sam['a'][1]) and colNames == 'c':
print(colNames, lenDf,df_sam[colNames][lenDf] )
如果您只想为最后一列自动化,
import pandas as pd
df_sam = pd.DataFrame({
'a' : ['rick','johnatthan','katei','diana','richard'],
'b' : ['rich','roman','italy','ed','taylor'],
'c' : [2,3,4,5,'new'],
'd': [2, 3, 4, 5, 'dnew']
})
lenOfColNames = len(df_sam.columns)
counter = 0
for colNames in df_sam.columns:
counter = counter + 1
for lenDf in range(len(df_sam[colNames])):
if type(df_sam[colNames][lenDf]) == type(df_sam['a'][1]) and counter == lenOfColNames:
print(colNames, lenDf,df_sam[colNames][lenDf] )
推荐阅读
- javascript - 用 webpack 中的字段值替换带有静态字段的对象
- json - React Native:将 console.log 输出记录为 JSON 发送到服务器
- sql - SQL - 从多个表中选择,其中一个没有结果
- linux - 更新环境变量linux后无法识别anaconda
- math - Divmod:一个 Elixir 函数中除法的商和余数
- java - 使用 XSLT 将 xml 转换为 csv 时,将逗号 ',' 替换为一个值
- android - ionic3 应用程序启动画面前的空白屏幕
- botframework - LUIS 无法理解不同的实体 [已编辑]
- python - Pandas 从现有数据框创建新数据框
- javascript - 插值中的 Angular 2 连接变量