我有两个大熊猫系列如下。
bulk_order_id
Out[283]:
3 523
Name: order_id, dtype: object
和
luster_6_loc
Out[285]:
3 Cluster 3
Name: Clusters, dtype: object
现在我想要一个看起来像这样的新系列。
Cluster 3 523
我正在python中执行以下操作
cluster_final = pd.Series()
for i in range(len(cluster_6_loc)):
cluster_final.append(pd.Series(bulk_order_id.values[i], index =
cluster_6_loc.iloc[i]))
这给了我一个错误说
TypeError: Index(...) must be called with a collection of some kind, 'Cluster 3' was passed
答案 0 :(得分:1)
您可以将pd.Series
的{{1}}值作为索引,将luster_6_loc
的值作为值传递:
bulk_order_id
修改强>
这很奇怪但似乎bulk_order_id = pd.Series(523, index=[3])
cluster_6_loc= pd.Series('Cluster 3', index=[3])
cluster_final = pd.Series(bulk_order_id.values, cluster_6_loc.values)
In [149]: cluster_final
Out[149]:
Cluster 3 523
dtype: int64
到append
无法正常工作(至少在版本Series
中):
0.17.1
顺便说一句,你可以做s = pd.Series()
In [199]: s.append(pd.Series(1, index=[0]))
Out[199]:
0 1
dtype: int64
In [200]: s
Out[200]: Series([], dtype: float64)
:
set_value
答案 1 :(得分:1)
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
req.Timeout = 1200000;
req.ReadWriteTimeout = 1200000;
var w = (HttpWebResponse)req.GetResponse();
using (Stream file = File.OpenWrite(localFile))
{
w.GetResponseStream().CopyTo(file);
}
答案 2 :(得分:0)
不确定我是否正确理解了您的问题,但pd.concat()
(see docs)出了什么问题:
s1 = pd.Series(data=['523'], index=[3])
3 523
dtype: object
s2 = pd.Series(data=['Cluster 3'], index=[3])
3 Cluster 3
dtype: object
并使用pd.concat()
,这也适用于多个值:
pd.concat([s1, s2], axis=1)
0 1
3 523 Cluster 3
导致DataFrame
,这是将Series
与多个值组合时可能需要的。您可以使用values
将任意index
移至.set_index()
,或添加.squeeze()
以获得Series
。
所以pd.concat([s1, s2], axis=1).set_index(1)
给出了:
0
1
Cluster 3 523