嗨我可以导出并打开Windows中的csv文件,如果我这样做:
y.to_csv('sample.csv').
其中y是一个pandas数据帧.
但是,此输出文件具有索引列.我可以通过执行以下操作将输出文件导出到csv:
y.to_csv('sample.csv',index=False)
但是当我尝试打开文件时显示错误消息:
"'sample.csv'的文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任它的来源,否则请不要打开它.无论如何,您想打开它吗?"
y的样本:
我有两个数据帧 df1 和 df2,如下所示:-
df1 = pd.DataFrame({'x': [1, '3', 5,'t','m','u'],'y':[2, 4, 6, 4, 4, 8]})
df2 = pd.DataFrame({'x': [1, 3, '4','t'],'z':[2, 4, 6,7]})
Run Code Online (Sandbox Code Playgroud)
我正在尝试将两个数据框合并(左连接)为:-
df=pd.merge(df1, df2, how='left', on='x')
Run Code Online (Sandbox Code Playgroud)
输出是:-
df
Out[25]:
x y z
0 1 2 2.0
1 3 4 NaN
2 5 6 NaN
3 t 4 7.0
4 m 4 NaN
5 u 8 NaN
Run Code Online (Sandbox Code Playgroud)
显然,对于上面的第二行,即 x=3,我想要 z=4 而不是 NaN。在合并期间是否可以选择定义键的数据类型或任何其他解决方法,我可以将键的 dtype 更改为两个数据帧中的字符串并获得所需的输出。
我想使用gsub从我的字符串中删除或替换括号“(”或“)”。但是,如下所示,它不起作用。可能是什么原因?
> k<-"(abc)"
> t<-gsub("()","",k)
> t
[1] "(abc)"
Run Code Online (Sandbox Code Playgroud) 我有一个包含两列“名称”和“任务”的日期框架。我想根据列表中的匹配条件创建第三列“ task_category”。请注意,以下数据仅作为示例,实际上我要查找100多个模式,而不是下面显示的三个。
df = pd.DataFrame(
{'Name': ["a","b","c"],
'Task': ['went to trip','Mall Visit','Cinema']})
task_category=['trip','Mall','Cinema']
Name Task task_category
0 a went to trip trip
1 b Mall Visit Mall
2 c Cinema Cinema
Run Code Online (Sandbox Code Playgroud) 我有一个这样的列表列表: -
x=[['A','B','C','D'],['E','F','G','H']]
Run Code Online (Sandbox Code Playgroud)
我想在列表中添加一个索引,如下所示: -
y=[[0,'A','B','C','D'],[1,'E','F','G','H']]
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这个目标?
我有一个data.frame(比方说x)一个character列。我试图从该列中提取最后一个n(比如说3)字符,并在同一个data.frame. 我正在尝试这样做:
library(dplyr)
x <- x %>% mutate(new_col=substr(old_col, nchar(old_col)-3+1, nchar(old_col)))
Run Code Online (Sandbox Code Playgroud)
错误信息:
mutate_impl(.data, dots) 中的错误:评估错误:“nchar()”需要字符向量。
我也试过这个:
x <- x %>% mutate(new_col=substr(x$old_col, nchar(x$old_col)-3+1, nchar(x$old_col)))
Run Code Online (Sandbox Code Playgroud) 我有多个矩阵,尺寸相同如下: -
> A
x y z
[1,] 2 4 3
[2,] 1 5 7
> B
x y z
[1,] 4 3 3
[2,] 1 8 7
> C
x y z
[1,] 4 3 3
[2,] 1 8 7
>
Run Code Online (Sandbox Code Playgroud)
如何创建包含所有三个矩阵平均值的相同维度的新矩阵?
我正在尝试在 numpy.select 中使用“in”。
x = np.arange(10)
condlist = [x in [2,3,4], x>5]
choicelist = [x, x**2]
np.select(condlist, choicelist)
Run Code Online (Sandbox Code Playgroud)
有办法让它发挥作用吗?
我想知道从 R 中的数据框中查找所有唯一字符的最有效方法是什么。
即例如:- [0-9,az,AZ,",","$","&","#"等]
> k
cola colb
1 1&3# %^
2 A4C% 89&
Run Code Online (Sandbox Code Playgroud)
我期望的输出是一个包含所有唯一字符(包括特殊字符)的列表。IE123#%^AC89&
我有一个这样的列表,其中项目用“:”分隔。
x=['john:42:engineer',
'michael:29:doctor']
Run Code Online (Sandbox Code Playgroud)
有没有办法通过定义名称、年龄和职业列来将其更改为如下所示的数据框?
Name Age Occupation
0 john 42 engineer
1 michael 29 doctor
Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其中包含两列,如下所示: -
x values
1 tag -2
2 tag -3
3 x1 4
4 tag 5
5 x1 6
6 x2 7
7 x3 5
Run Code Online (Sandbox Code Playgroud)
如何根据x col中的"tag"值创建第三个名为set的col,如下所示?
x values set
1 tag -2 set1
2 tag -3 set2
3 x1 4 set2
4 tag 5 set3
5 x1 6 set3
6 x2 7 set3
7 x3 5 set3
Run Code Online (Sandbox Code Playgroud) 您好,我想找到 R 中日期列的最近月末。
有什么有效的方法可以做到这一点吗?
dt<-data.frame(orig_dt=as.Date(c("1997-04-01",
"1997-06-29"
)))
dt<-dt %>% mutate(modified_dt="Nearest_month_end_date")
Run Code Online (Sandbox Code Playgroud)
即 1997-04-01 应更改为 1997-03-31,1997-06-29 应更改为 1997-06-30。