请告诉我,您需要从命令行将文件传输到 python 脚本:
python script.py filename.xlsx
如何在 script.py 中获取文件路径以在 pandas 中进行进一步处理?
请告诉我,您需要从命令行将文件传输到 python 脚本:
python script.py filename.xlsx
如何在 script.py 中获取文件路径以在 pandas 中进行进一步处理?
请求示例:
params = {'par': 'val'}
sql = """SELECT data FROM table
WHERE data = :par"""
ret = pd.read_sql(sql, params=params, con=ora_conn)
请告诉我如何生成类似的请求,但带有参数值列表,如下所示:
values = ['val_1', 'val_2', 'val_3']
values = str(values)[1:-1]
params = {'par': values}
sql = """SELECT data FROM table
WHERE data in (:par)"""
ret = pd.read_sql(sql, params=params, con=ora_conn)
现在我这样做:
values = ['val_1', 'val_2', 'val_3']
values = str(values)[1:-1]
sql = """SELECT data FROM table
WHERE data in """ + """(""" + values + """)"""
是否可以通过键一次为字典分配多个值?它的意思是:
d = {'val1':0, 'val2':0, 'val3':0}
d['val1', 'val2', 'val3'] = [1,2,3]
所以结果是:
d.values()
output: [1,2,3]
我现在正在这样做:
{key: val for key, val in zip(d.keys(),[1,2,3])}
也就是我要新建一个字典,但是我想重新分配原字典中的一些值,比如说30个值中的20个,我不想写20行代码或者创建一本新的字典。
样本数据:
s1 = pd.Series(data = [1,1,1,1,1], index = ['idx1', 'idx2', 'idx3', 'idx4', 'idx5'])
s2 = pd.Series(data = [2,2,2], index = ['idx2', 'idx4', 'idx5'])
添加时
s1+s2
事实证明:
这是可以理解的,因为任何类型 + NaN = NaN,但是我需要来自 summand 的值,这些值在添加时被定义在缺少的索引中,也就是说,我需要
现在我正在这样做:我将它翻译成一个 DataFrame,添加缺少的列,fillna (0) 并添加 - 这非常糟糕,请告诉我如何正确地做,谢谢!对数据框同样感兴趣,如果其中一个 dfs 没有某些列,也会产生 NaN。
有一个数据集:
dates = ['2018-11-30 23:40:15', '2018-11-30 23:41:05',
'2018-11-30 23:41:15', '2018-12-01 00:08:57',
'2018-12-01 00:09:12', '2018-12-01 00:27:56',
'2018-12-01 00:28:56', '2018-12-01 00:39:37',
'2018-12-01 00:44:18', '2018-12-01 00:45:18']
dates = pd.to_datetime(dates)
ind = [['id_1','id_1','id_1','id_1','id_1',
'id_2', 'id_2', 'id_3', 'id_3', 'id_3'], dates]
df = pd.DataFrame(np.random.randn(10, 3), index=ind, columns=['col1', 'col2', 'col3'])
我知道可以在二级索引中指定一个具体的日期,并获取它对应的所有数据。所以:
df.loc['id_1', '2018-11-30']
是否可以按日期和时间进行切片(例如,选择索引 id_1 到并包括给定时间的所有数据)?
我正在尝试这样做:
df.loc['id_1', :'2018-12-01 00:08:57']
左右,如果需要特定数量的数据:
df.loc['id_1', :'2018-12-01']
结果,索引本身会显示出来,但您需要一个 DataFrame,其中包含直到并包括索引中指定的特定时间的数据。
甚至有可能以这种方式进行切割吗?如果是这样,怎么做?
一个明确的例子:
df.loc['id_1', :'2018-12-01 00:08:57']
我希望看到:
有一个数据框:
我选择对应于HEATID_id = 1079571
:
的索引子集data.loc[1079571]
,我得到了这个 DataFrame 的索引列表:
ind = data.loc[1079571].index
我想删除索引'2020-03-20 12:57:00'
对应于ind[0]
原始DataFrame的元素,我这样做是这样的:data.loc[1079571].drop(ind[0], inplace=True)
,但原始元素data
保留在原地。
我知道如果我写data.drop((1079571, '2020-03-20 12:57:00'), inplace=True)
,元素将被删除,但是我循环遍历 DataFrame,并且根据某些条件,我必须删除日期属于某些 ID 的子下标。
怎么做才对?
样本数据:
ind = [np.array([1, 1, 2, 2, 3, 3, 4, 4]),
np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])]
df = pd.DataFrame(np.random.randn(8, 3), index=ind, columns=['col1', 'col2', 'col3'])