我有一个pandas数据框,并希望绘制一列中的值与另一列中的值.幸运的是,有plot一种与数据帧相关的方法似乎可以满足我的需求:
df.plot(x='col_name_1', y='col_name_2')
Run Code Online (Sandbox Code Playgroud)
不幸的是,它看起来像打印样式(上市中这里后kind参数)有没有点.我可以使用线条或条纹甚至密度但不能使用点数.有没有可以帮助解决这个问题的解决方法.
import pandas as pd
import numpy as np
data = 'filename.csv'
df = pd.DataFrame(data)
df
one two three four five
a 0.469112 -0.282863 -1.509059 bar True
b 0.932424 1.224234 7.823421 bar False
c -1.135632 1.212112 -0.173215 bar False
d 0.232424 2.342112 0.982342 unbar True
e 0.119209 -1.044236 -0.861849 bar True
f -2.104569 -0.494929 1.071804 bar False
Run Code Online (Sandbox Code Playgroud)
我想为某列选择一个范围,让我们说列two.我想选择介于-0.5和+0.5之间的所有值.怎么做到这一点?
我期待用
-0.5 < df["two"] < 0.5
Run Code Online (Sandbox Code Playgroud)
但这(自然)给出了一个ValueError:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() …Run Code Online (Sandbox Code Playgroud) 我有一个.csv具有以下结构:
date_begin,date_end,name,name_code,active_accounts,transaction_amount,transaction_count
1/1/2008,1/31/2008,Name_1,1001,"123,456","$7,890,123.45","67,890"
2/1/2008,2/29/2008,Name_1,1001,"43,210","$987,654.32","109,876"
3/1/2008,3/31/2008,Name_1,1001,"485,079","$1,265,789,433.98","777,888"
...
12/1/2008,12/31/2008,Name_1,1001,"87,543","$432,098,987","87,987"
1/1/2008,1/31/2008,Name_2,1002,"268,456","$890,123.45","97,890"
2/1/2008,2/29/2008,Name_2,1002,"53,210","$987,654.32","109,876"
...
etc
Run Code Online (Sandbox Code Playgroud)
我试图通过使用以下代码将它们读入pandas数据帧:
import pandas as pd
data = pd.read_csv('my_awesome_csv.csv'),parse_dates=[[0,1]],
infer_datetime_format=True)
Run Code Online (Sandbox Code Playgroud)
这很好用,除了我想控制每列中的数据类型.当我在解释器中运行以下代码时,我发现引号中的数字不会被识别为数字,无论是美元还是其他数字.
In [10]: data.dtypes
Out[10]:
date_begin_date_end object
name object
name_code int64
active_accounts object # Problem, I want this to be a number
transaction_amount object # Ditto, I want this to be a number (it's a dollar amount)
transaction_count object # Still a number!
dtype: object
Run Code Online (Sandbox Code Playgroud)
我在Pandas csv文档中做了一些窥探,但是在csv中用逗号和美元符号保存为字符串时,我没有找到关于声明类型的数据.我的最终目标是能够对这些列中的值进行一些算术运算.
有什么想法吗?
pandas ×3
python ×3
dataframe ×2
csv ×1
import ×1
matplotlib ×1
plot ×1
python-3.x ×1
range ×1