我想从向量中的字符串中删除特定字符,类似于Excel中的" 查找和替换"功能.
以下是我开始的数据:
group <- data.frame(c("12357e", "12575e", "197e18", "e18947")
Run Code Online (Sandbox Code Playgroud)
我从第一栏开始; 我想通过删除e's 来生成第二列:
group group.no.e
12357e 12357
12575e 12575
197e18 19718
e18947 18947
Run Code Online (Sandbox Code Playgroud) 如何将字符串的DataFrame列(以dd/mm/yyyy格式)转换为日期时间?
是否有默认/官方/推荐的方法来解析C#中的CSV文件?我不想滚动自己的解析器.
此外,我已经看到人们使用ODBC/OLE DB通过Text驱动程序读取CSV的实例,很多人由于其"缺点"而不鼓励这种情况.这些缺点是什么?
Ideally, I'm looking for a way through which I can read the CSV by column name, using the first record as the header/field names. Some of the answers given are correct but work to basically deserialize the file into classes.
如何在Python中获得字符串与另一个字符串类似的概率?
我想获得像0.9(意味着90%)等十进制值.最好使用标准的Python和库.
例如
similar("Apple","Appel") #would have a high prob.
similar("Apple","Mango") #would have a lower prob.
Run Code Online (Sandbox Code Playgroud) 这似乎是一个非常简单的问题...但我没有看到我期待的简单答案.
那么,如何在Pandas的给定列的第n行获取值?(我对第一行特别感兴趣,但也会对更普遍的做法感兴趣).
例如,假设我想将Btime中的1.2值作为变量.
这是正确的方法吗?
df_test =
ATime X Y Z Btime C D E
0 1.2 2 15 2 1.2 12 25 12
1 1.4 3 12 1 1.3 13 22 11
2 1.5 1 10 6 1.4 11 20 16
3 1.6 2 9 10 1.7 12 29 12
4 1.9 1 1 9 1.9 11 21 19
5 2.0 0 0 0 2.0 8 10 11
6 2.4 0 0 0 2.4 10 12 15
Run Code Online (Sandbox Code Playgroud) 如果我有一些R列表mylist,你可以obj像这样附加一个项目:
mylist[[length(mylist)+1]] <- obj
Run Code Online (Sandbox Code Playgroud)
但肯定有一些更紧凑的方式.当我在R的新人时,我尝试这样写lappend():
lappend <- function(lst, obj) {
lst[[length(lst)+1]] <- obj
return(lst)
}
Run Code Online (Sandbox Code Playgroud)
但是当然由于R的逐个调用语义而无法正常工作(lst在调用时有效复制,所以更改lst在范围之外是不可见的lappend().我知道你可以在R函数中做环境黑客攻击到达外部你的函数范围和mutate调用环境,但这似乎是一个大锤子写一个简单的追加函数.
任何人都可以建议一个更美丽的方式吗?奖励点,如果它适用于矢量和列表.
如何通过点"."访问Python字典成员?
例如,mydict['val']我不想写作,而是写作mydict.val.
此外,我想以这种方式访问嵌套的dicts.例如
mydict.mydict2.val
Run Code Online (Sandbox Code Playgroud)
会参考
mydict = { 'mydict2': { 'val': ... } }
Run Code Online (Sandbox Code Playgroud) 当使用具有以下数据帧的多个列时,我在使用Pandas应用函数时遇到一些问题
df = DataFrame ({'a' : np.random.randn(6),
'b' : ['foo', 'bar'] * 3,
'c' : np.random.randn(6)})
Run Code Online (Sandbox Code Playgroud)
以及以下功能
def my_test(a, b):
return a % b
Run Code Online (Sandbox Code Playgroud)
当我尝试应用此功能时:
df['Value'] = df.apply(lambda row: my_test(row[a], row[c]), axis=1)
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
NameError: ("global name 'a' is not defined", u'occurred at index 0')
Run Code Online (Sandbox Code Playgroud)
我不明白这个消息,我正确地定义了这个名字.
我非常感谢你对这个问题的任何帮助
更新
谢谢你的帮助.我确实用代码做了一些语法错误,索引应该放''.但是我使用更复杂的功能仍然存在同样的问题,例如:
def my_test(a):
cum_diff = 0
for ix in df.index():
cum_diff = cum_diff + (a - df['a'][ix])
return cum_diff
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个循环开始for i in range(0, 100).通常它运行正常,但有时它会因网络状况而失败.目前我设置它以便在失败时,它将continue在except子句中(继续到下一个数字i).
我是否可以重新分配相同的数字i并再次运行循环的失败迭代?
在python中,测试变量是否包含列表或元组的最佳方法是什么?(即一个集合)
像这里建议的那样是邪恶吗?http://www.canonical.org/~kragen/isinstance/
更新:我想要将列表与字符串区分开来的最常见原因是当我有一些无限深度的嵌套树/数据结构列表中的字符串列表等列表时,我正在使用递归算法进行探索,我需要知道我何时击中"叶子"节点.
python ×7
pandas ×3
dataframe ×2
list ×2
r ×2
append ×1
apply ×1
big-o ×1
c# ×1
csv ×1
dictionary ×1
exception ×1
file-io ×1
gsub ×1
head ×1
header ×1
indexing ×1
io ×1
loops ×1
metric ×1
nested ×1
performance ×1
probability ×1
python-2.7 ×1
regex ×1
replace ×1
similarity ×1
syntax ×1
try-except ×1
types ×1