我使用ggplot2根据我的数据绘制趋势线.
以下是我使用电子表格完成的工作.
但我只想显示趋势线(上图中显示的黑线)而不是所有点,因为观察次数> 20,000.
所以我尝试使用ggplot2做同样的事情.
fig_a <- ggplot(df1, aes(data_x, data_y ))
fig_a + stat_smooth(method=lm)
fig_a + stat_smooth(method=gam)
Run Code Online (Sandbox Code Playgroud)
显然它不能很好地运行,任何人都可以提供帮助?
为什么它提供如此多的线而不是单个趋势线?
假设我的数据如下所示.
在这整个数据中,总共有3*A,2*B,2*C,只有1 D,E和F.
data <- read.table(textConnection("
col1 col2
A B
A C
B A
C D
E F
"), header = TRUE)
Run Code Online (Sandbox Code Playgroud)
我想要做的是保持秩序和内容相同,但要使它们与众不同.例如,A变为A.1,A.2和A.3.
col1 col2
A.1 B.2
A.2 C.2
B.1 A.3
C.1 D
E F
Run Code Online (Sandbox Code Playgroud)
有什么聪明的方法可以做到这一点吗?
我知道我可以使用make.unique或make.names,但看起来它只适用于一列,而不适用于整个数据集.
我有两个列表,我想按照相同的顺序组合它们.
以下是问题.
A = ['1,2,3','4,5,6','7,8,9']
B = ['10','11','12']
Run Code Online (Sandbox Code Playgroud)
获取如下所示的新列表
A+B = ['1,2,3,10','4,5,6,11','7,8,9,12']
Run Code Online (Sandbox Code Playgroud)
我尝试extend,zip,append,enumerate但不能得到我想要的东西.两个循环结果将重复.
有什么提示或优雅的方式吗?
我有两个清单.
A = [1,5,10]
B = [72,36,58]
Run Code Online (Sandbox Code Playgroud)
我想基于相同的索引连接两个列表.
Output = [1,72,5,36,10,58]
Run Code Online (Sandbox Code Playgroud)
我知道我可以zip(A,B)这样做但是这样我需要从列表中删除元组.
有任何暗示或优雅的方式吗?
可能这是一个老问题,我在下面找到了类似的问题,但我仍然可以在输出文件中看到科学记数法。
我试图合并set_option和df.apply(pd.to_numeric, args=('coerce',))等下面,而没有工作我的代码。
df = pd.read_csv(Input)
dfNew = df[['co_A','co_B','co_C']]
# I firstly select columns from df then would like to convert scientific notation to decimal type in my output file.
dfNew.to_csv(Output, index = False, sep = '\t')
Run Code Online (Sandbox Code Playgroud)
我仍然可以在输出文件中看到科学记数法。任何人都可以帮忙吗?
co_A co_B co_C
167 0.0 59.6
168 0.0 60.6
191 8e-09 72.6
197 -4.7718e-06 12.3
197 0.0 92.4
198 0.0 39.5
Run Code Online (Sandbox Code Playgroud) 假设我有一个数据帧.我想修改具有特定值的行列表.
例如,下面是我的数据帧.
df = pd.DataFrame({
"strings":["A", "B", "C", "D", "E"],
"value":["a", "b", "c", "d", "f"],
"price":["1", "2", "3", "4", "5"]})
Run Code Online (Sandbox Code Playgroud)
我想在行C,D和E中用'0'替换所有单元格,如下所示.行= ['C','D','E']
df = pd.DataFrame({
"strings":["A", "B", "C", "D", "E"],
"value":["a", "b", "0", "0", "0"],
"price":["1", "2", "0", "0", "0"]})
Run Code Online (Sandbox Code Playgroud)
我知道我们可以通过简单地给出行的名称和特定值来实现这一点,但是由于我们要修改很多行,我们如何使用pandas更有效地做到这一点?
有人提示吗?